J'essaie d'interroger une base de données via une API de repos en utilisant jersey
et spring boot jpa
avec hibernate
.spring boot + jpa + maillot n'a pas pu initialiser proxy - no Session
Ma méthode de commande:
public SomeValue doSomething(String param) {
MyEntity entity = myService.queryDB(param);
return conv.convertEntity(entity);
}
Mon service:
@Transactional
public MyEntity queryDB(String param) {
return myRepo.findOne(param);
}
L'entité:
@Entity
MyEntity {
@Id
@NotNull
private String Id;
@OneToMany(mappedBy="foreignKey", fetch = FetchType.LAZY)
private Set<SomeOtherEntity> someOtherEntity;
}
J'ai même définir explicitement la propriété dans le application.yml:
open-in-view: true
je reçois l'exception suivante:
failed to lazily initialize a collection of role: entitites.MyEntity.someOtherEntity, could not initialize proxy - no Session
Pendant que je peux voir le débogage que la méthode preHandle
de OpenEntityManagerInViewInterceptor
de printemps est appelé après je fais l'appel au référentiel. Ne devrait-il pas être appelé avant?
Ce qui pourrait causer cette exception/ce comportement. Quel est le problème avec ma configuration?