Tenho uma Entity
SolicitacaoTransacao
.
@JoinColumn(name = "remetente_id_instituicao", unique = true ,
insertable=false, updatable=false)
@OneToOne(cascade = CascadeType.ALL)
private InstituicaoFinanceira remetente;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name="destinatario_id_instituicao", insertable=false, updatable=false)
private InstituicaoFinanceira destinatario;
SQL (Query
) realizada:
createQuery("SELECT s FROM SolicitacaoTransacao s
WHERE s.remetente.codInstituicao like :codInstituicao")
.setParameter("codInstituicao","%" + codInstituicao+ "%")
.getResultList();
query que o hibernate gera
select
solicitaca0_.id_solicitacao_transacao as id1_1_,
solicitaca0_.data_solicitacao as data2_1_,
solicitaca0_.id_instituicao as id5_1_,
solicitaca0_.linha_devolvida as linha3_1_,
solicitaca0_.linha_enviada as linha4_1_,
solicitaca0_.remetente_id_instituico as remetente6_1_
from
solicitacao_transacao solicitaca0_ cross
join
instituicao_financeira instituica1_
where
solicitaca0_.remetente_id_instituico=instituica1_.id_instituicao
and (
instituica1_.cod_instituicao like ?
)
Mesmo devendo trazer resultado, não traz nada.
SQL (Query
) gerada pelo Hirbenate
:
select
solicitaca0_.id_solicitacao_transacao as id1_1_,
solicitaca0_.data_solicitacao as data2_1_,
solicitaca0_.id_instituicao as id5_1_,
solicitaca0_.linha_devolvida as linha3_1_,
solicitaca0_.linha_enviada as linha4_1_,
solicitaca0_.remetente_id_instituico as remetente6_1_
from
solicitacao_transacao solicitaca0_ cross
join
instituicao_financeira instituica1_
where
solicitaca0_.remetente_id_instituico=instituica1_.id_instituicao
and (
instituica1_.cod_instituicao like ?
)
Acredito que o problema esteja no alias gerado solicitaca0_ cross
, na hora do join o mesmo usa um campo.
Alguém já passou por isso ?