@Transaction et Lazy Loading
Bonjour!
J'aimerai vous faire part de mon problème: j'obtient toujours la Lazyinitialisation exception: no session or session was closed.
j'ai une couche service qui récupère un employé et retourne son conjoint.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
import org.springframework.transaction.annotation.Transactional;
...
private IPersonnelDAO personnelDAO;
...
@Autowired
public void setPersonnelDAO(IPersonnelDAO personnelDAO){
this.personnelDAO = personnelDAO;
}
...
@RemotingInclude
@Transactional
public Conjoint getConjoint(Integer personnelID)
{
Personnel p = personnelDAO.load(personnelID);
return p.getConjoint();
} |
la méthode load permet de retourner un employé
voici le code de l'entité employé sur la relation avec l'entité conjoint:
Code:
1 2 3 4 5
| @OneToOne(fetch = FetchType.LAZY,cascade=CascadeType.ALL)
@JoinColumn(name="idconjoint")
public Conjoint getConjoint() {
return this.conjoint;
} |
je ne comprend pas pourquoi l'exception précise qu'il n'y a pas de session, or l'annotation @Transactionnal ne permet il pas d'effectuer toutes les opérations dans la méthode dans une même session?