Olá,
no momento inserir está ok…
mas tenho dois objetos com manytomany e tenho uma duvida como fazer uma query para buscar informação de um objeto.
--como fazer por exemplo pois desse jeito está dando errro could not resolve property:
1. public List<UserOperationImpl> listaUsuario(UserOperationImpl u) {
2. return getSession().createCriteria(UserOperationImpl.class)
3. .add(Restrictions.eq("roles", u))
4. .list();
5. }
@Entity
@Inheritance (strategy = InheritanceType.JOINED)
@Table(name="ROLE")
public class RoleImpl {
@Id
@GeneratedValue
@Column(name = "ROLE_ID")
/** Identificador único */
private Long id;
@Column(nullable = false)
/** Nome do papel */
private String name;
@Column(nullable = false)
/** Descrição do papel */
private String description;
@OneToMany(mappedBy = "role", cascade = (CascadeType.ALL))
private List<UserImpl> users = new ArrayList<ImsUserImpl>();
@ManyToMany(fetch=FetchType.LAZY, targetEntity = UserOperationImpl.class, cascade = (CascadeType.PERSIST))
@JoinTable(
name="ROLE_OP",
joinColumns = @JoinColumn(name="ROLE_ID", referencedColumnName = "ROLE_ID") ,
inverseJoinColumns = @JoinColumn(name = "OP_ID", referencedColumnName = "OP_ID")
)
@OrderBy(value="id asc")
----------------------------------
@Entity
@Table(name="OPERATION")
public class UserOperationImpl {
@Id
@GeneratedValue
@Column(name = "OP_ID")
private long id;
@Column(name = "user_op", columnDefinition="integer")
private UserOperation operation;
@ManyToMany(cascade = (CascadeType.ALL), mappedBy = "operations",fetch=FetchType.LAZY)
@OrderBy(value="id asc")
private List<RoleImpl> roles = new ArrayList<RoleImpl>();