Opa boa noite, fiz o curso de jsf faz tempinho já e sempre me ocorreu essa duvida, me lembro rapidamente que no curso o nico ACHO que ele falo sobre lista quando tem um fk dentro de uma outra tabela, por exemplo tenho a minha tabela de cidade, e na tabela cidade tenho uma fk de estado. Correto? Então quando eu faço.
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long codigo;
@OneToOne
@JoinColumn(name = "estado_codigo")
private Estado estado = new Estado();
private Integer codigoMunicipio;
private String nome;
private String uf;
No minha variavel estado tenho o meu OneToOne. Aqui que vem a minha duvida, aqui quando eu fazer um select nela.
@SuppressWarnings("unchecked")
public List<Cidade> lista() {
return manager.createQuery("Select c FROM Cidade c").getResultList();
}
Como pode ver não estou juntando nenhuma tabela no meu select, e por padrão o comportamento não seria aquele eager? Que só faz o select em uma tabela? E o quando ja deixa com o lazzy a minha fk não é carregada quando faço um select apenas em uma tabela? Pois então estou fazendo um select e me deparei no console com o resultado.
Hibernate: select cidade0_.codigo as codigo5_, cidade0_.codigoMunicipio as codigoMu2_5_, cidade0_.estado_codigo as estado5_5_, cidade0_.nome as nome5_, cidade0_.uf as uf5_ from Cidade cidade0_
Hibernate: select estado0_.codigo as codigo2_0_, estado0_.codigoUf as codigoUf2_0_, estado0_.nome as nome2_0_, estado0_.regiao as regiao2_0_, estado0_.uf as uf2_0_ from Estado estado0_ where estado0_.codigo=?
Hibernate: select estado0_.codigo as codigo2_0_, estado0_.codigoUf as codigoUf2_0_, estado0_.nome as nome2_0_, estado0_.regiao as regiao2_0_, estado0_.uf as uf2_0_ from Estado estado0_ where estado0_.codigo=?
Hibernate: select estado0_.codigo as codigo2_0_, estado0_.codigoUf as codigoUf2_0_, estado0_.nome as nome2_0_, estado0_.regiao as regiao2_0_, estado0_.uf as uf2_0_ from Estado estado0_ where estado0_.codigo=?
Hibernate: select estado0_.codigo as codigo2_0_, estado0_.codigoUf as codigoUf2_0_, estado0_.nome as nome2_0_, estado0_.regiao as regiao2_0_, estado0_.uf as uf2_0_ from Estado estado0_ where estado0_.codigo=?
Hibernate: select estado0_.codigo as codigo2_0_, estado0_.codigoUf as codigoUf2_0_, estado0_.nome as nome2_0_, estado0_.regiao as regiao2_0_, estado0_.uf as uf2_0_ from Estado estado0_ where estado0_.codigo=?
Hibernate: select estado0_.codigo as codigo2_0_, estado0_.codigoUf as codigoUf2_0_, estado0_.nome as nome2_0_, estado0_.regiao as regiao2_0_, estado0_.uf as uf2_0_ from Estado estado0_ where estado0_.codigo=?
Hibernate: select estado0_.codigo as codigo2_0_, estado0_.codigoUf as codigoUf2_0_, estado0_.nome as nome2_0_, estado0_.regiao as regiao2_0_, estado0_.uf as uf2_0_ from Estado estado0_ where estado0_.codigo=?
Hibernate: select estado0_.codigo as codigo2_0_, estado0_.codigoUf as codigoUf2_0_, estado0_.nome as nome2_0_, estado0_.regiao as regiao2_0_, estado0_.uf as uf2_0_ from Estado estado0_ where estado0_.codigo=?
Hibernate: select estado0_.codigo as codigo2_0_, estado0_.codigoUf as codigoUf2_0_, estado0_.nome as nome2_0_, estado0_.regiao as regiao2_0_, estado0_.uf as uf2_0_ from Estado estado0_ where estado0_.codigo=?
Hibernate: select estado0_.codigo as codigo2_0_, estado0_.codigoUf as codigoUf2_0_, estado0_.nome as nome2_0_, estado0_.regiao as regiao2_0_, estado0_.uf as uf2_0_ from Estado estado0_ where estado0_.codigo=?
Hibernate: select estado0_.codigo as codigo2_0_, estado0_.codigoUf as codigoUf2_0_, estado0_.nome as nome2_0_, estado0_.regiao as regiao2_0_, estado0_.uf as uf2_0_ from Estado estado0_ where estado0_.codigo=?
Hibernate: select estado0_.codigo as codigo2_0_, estado0_.codigoUf as codigoUf2_0_, estado0_.nome as nome2_0_, estado0_.regiao as regiao2_0_, estado0_.uf as uf2_0_ from Estado estado0_ where estado0_.codigo=?
Mesmo com um select está puxando a fk.