Pessoal,
Tenho um relacionamento many-to-one entre as entidades Setor e SequenciaAtendimento. Nesse relacionamento um setor pode ter várias sequências de atendimento. Estou tendo problema para recuperar as informações do Setor através da consulta por sequênciaAtendimento. O problema pode ser resolvido alterando a propriedade lazy para false, entretanto isso vai comprometer o desempenho do meu BD. Como faço para recuperar as informações dos setores, tais como id (chave composta), sem que o lazy seja igual a false?
Beans:
public class SequenciaAtendimento implements Serializable {
private Setor setor;
public Setor getSetor() {
return this.setor;
}
public void setSetor(Setor setor) {
this.setor = setor;
}
}
public class Setor implements Serializable {
private SetorId id;
private Set<SequenciaAtendimento> sequenciaAtendimentos = new HashSet<SequenciaAtendimento>();
public SetorId getId() {
return id;
}
public void setId(SetorId id) {
this.id = id;
}
public Set<SequenciaAtendimento> getSequenciaAtendimentos() {
return sequenciaAtendimentos;
}
public void setSequenciaAtendimentos(
Set<SequenciaAtendimento> sequenciaAtendimentos) {
this.sequenciaAtendimentos = sequenciaAtendimentos;
}
}
Mapeamentos:
SequenciaAtendimento.hbm.xml
<many-to-one name="setor" class="br.com.itautec.siga.bean.Setor" update="false" insert="false" fetch="select">
<column name="nrseq_agencia" not-null="true" />
<column name="cod_setor" not-null="true" />
</many-to-one>
Setor.hbm.xml
<set name="sequenciaAtendimentos" inverse="true">
<key>
<column name="nrseq_agencia" not-null="true" />
<column name="cod_setor" not-null="true" />
</key>
<one-to-many class="br.com.itautec.siga.bean.SequenciaAtendimento" />
</set>
Após a busca por todos SequenciaAtendimento, se fizer sequenciaAtendimento.getSetor().getId() recebo valor null. Se colocar o lazy=“false” recebo o valor desejado. Não quero lazy=“false” porque compromete o desempenho do meu BD.
Valeu