Après environ 3 heures de débogage horrible, je sais maintenant ce qui se passe. J'ai une méthode de niveau de service sur laquelle j'ai également un conseil "autour". La méthode de niveau de service est annotée avec @Transactional(readOnly=true)
, cependant, j'ai un autre service dans mon conseil qui a été annotated with @Transactional(readOnly=false)
.
Mon aspect (ou mon conseil) utilise les mêmes objets DAO que ma couche de service normale, donc quand j'ai appelé sessionFactory.getCurrenctSession()
cela me rend la session qui a été créée pour ma méthode de niveau service en lecture seule. Maintenant, je dois réorganiser.