Pessoal, tenho as seguintes classes em meu projeto…
@Entity
@Table(name = "Usuarios")
public class Usuario implements Serializable {
@Id
@Column(name = "id_usuario", nullable = false)
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id_usuario;
@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name = "id_Empresa")
private Empresa empresa;
@Column(name = "email", nullable = true)
private String email;
@Column(name = "nome", nullable = true)
private String nome;
}
@Entity
@Table(name = "Empresa")
public class Empresa implements Serializable{
@Id @Column(name = "id_Empresa", nullable = false)
private Integer id_Empresa;
@Column(name = "nome", nullable = true)
private String nome;
@OneToMany(mappedBy="empresa", fetch=FetchType.LAZY)
@JoinColumn(name="id_Empresa")
private Collection<Usuario> lstUsuarios;
}
Método do DAO:
public List<T> findByTeste(final T example) {
Criteria criteria = getSession().createCriteria(example.getClass());
criteria.add(Example.create(example));
final List<T> result = criteria.list();
return result;
}
O problema é que quando seto objeto empresa na classe usuario e chamo o método do DAO acima para trazer os resultados, o hibernate nao considera os atributos da classe Empresa… e retorna todos os registros da tabela… o sql fica WHERE 1=1…
Alguem poderia me dar um help ???
Obrigado…
Robert