Boa tarde pessoal, estou sem saber o porque esse select jpa que usa duas tabelas não traz informação.
Alguém pode me ajudar ?
Obrigado
Quero consultar usuário pelo nome, porém o nome está na tabela Pessoa
Veja:
Objeto Usuario - atributo pessoa
@Entity
@Table(schema="acesso",name="ace02_usuario")
public class Usuario implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@SequenceGenerator(name="usua_id", sequenceName ="acesso.seq_usua_id", allocationSize=1)
@GeneratedValue( strategy = GenerationType.SEQUENCE, generator = "usua_id" )
@Column(name="usua_id")
private Long id;
/**
*
*/
@OneToOne
@JoinColumn(name="usua_id_pessoa",referencedColumnName="pess_id",unique=true, nullable =false )
private Pessoa pessoa;
Objeto Pessoa atributo nome
@Entity
@Table(schema="acesso",name="ace01_pessoa")
public class Pessoa implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@SequenceGenerator(name="pess_id", sequenceName ="acesso.seq_pess_id", allocationSize=1)
@GeneratedValue( strategy = GenerationType.SEQUENCE, generator = "pess_id" )
@Column(name="pess_id")
private Long id;
@Column(name="pess_nome",length=100,unique=false, nullable=false)
private String nome;
Veja o SELECT
Query q = entityManager.createQuery("SELECT u FROM Usuario u WHERE u.pessoa.nome LIKE :nome ");
q.setParameter("nome", "%"+nome+"%" );
Essa consulta acima nao traz a informacao
Porém quando consulto somente o Usuario, o objeto pessoa está lá dentro.