@OneToOne onde o campo pode ser nulo

0 respostas
java
Arautog

Gostaria de ajuda no seguinte: tenho 2 tabelas Origem e ModoExtracao

Origem -> id, descricao, ModoExtracao(id_modo_extracao)

ModoExtração -> id, descricao

coloquei as anotaçõe dessa forma :

@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_modo_extracao")
private ModoExtracao modoExtracao;

Porem quando dou um get normal, ele só me traz registros que tem modoextração.

o slq que o hibernate forma coloca um Inner e deveria colocar um left join.

Segue o sql que o hibernate forma:

Hibernate:

select
    count(distinct 100) as col_0_0_ 
from
    origem origem0_ 
where
    1=1

Hibernate:

select
    origem0_.id as col_0_0_,
    origem0_.descricao as col_1_0_,
    origem0_.id_modo_extracao as col_2_0_,
    origem0_.midia_social as col_3_0_,
    origem0_.midia_social_outros as col_4_0_ 
from
    origem origem0_ 
inner join
    modo_extracao modoextrac1_ 
        on origem0_.id_modo_extracao=modoextrac1_.id 
where
    1=1 
order by
    origem0_.id desc limit ?

Hibernate:

select
    modoextrac0_.id as id1_20_0_,
    modoextrac0_.descricao as descrica2_20_0_,
    modoextrac0_.inativo as inativo3_20_0_ 
from
    modo_extracao modoextrac0_ 
where
    modoextrac0_.id=?

Alguem poderia me ajudar, tenho alguma outra anotação que devo colocar no campo ou como conseguiria fazer o hibernate inserir um left join na consulta para trazer tbm os que não possui modo de extração

Criado 18 de janeiro de 2020
Respostas 0
Participantes 1