Я столкнулся с странной проблемой с атрибутом JPA CascadeType.REFRESH. У меня есть простой родитель-потомок, в котором в родительском домене объекта (LineEquipmentFormat) я добавил каскад атрибутов, как показано нижеJPA CascadeType.REFRESH не работает?
OneToMany(cascade = { CascadeType.REFRESH, CascadeType.MERGE, CascadeType.PERSIST,
CascadeType.REMOVE}, mappedBy = "lineEquipmentFormat")
public List<LineEquipmentFormatDivision> getLineEquipmentFormatDivisions() {
return lineEquipmentFormatDivisions;
}
Но когда я извлечь родительский объект LineEquipmentFormat из БД, я не получаю список of LineEquipmentFormatDivisions.
Ошибка я получаю
17:46:34,251 ERROR [LazyInitializationException] failed to lazily initialize a collection of role: LineEquipmentFormat.lineEquipmentFormatDivisions, no session or session was closed
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: LineEquipmentFormat.lineEquipmentFormatDivisions, no session or session was closed
at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:380)
at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:372)
at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:365)
at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:108)
at org.hibernate.collection.PersistentBag.toString(PersistentBag.java:506)
Я использую Jboos 5.1 и Oracle 10G.
Просьба предоставить дополнительные сведения о возможной основной причине этой ошибки.
Благодаря
вместо этого вы должны использовать FETCH JOIN –