org.hibernate.ObjectDeletedException表示对象已被删除,但仍然存在于会话中。这通常发生在尝试使用已被删除的对象的延迟加载属性时。
为了解决这个问题,可以采取以下步骤:
例如:
YourEntity entity = session.get(YourEntity.class, entityId);
Hibernate.initialize(entity.getLazyProperty());
例如:
@Transactional
public void doSomething() {
YourEntity entity = session.get(YourEntity.class, entityId);
// 访问延迟加载属性
entity.getLazyProperty();
}
例如:
YourEntity entity = session.get(YourEntity.class, entityId);
Hibernate.initialize(entity.getLazyProperty());
例如:
Session newSession = sessionFactory.openSession();
YourEntity entity = newSession.get(YourEntity.class, entityId);
请根据您的具体情况选择适合的解决方法。
上一篇:不同对象访问不同成员