我有以下实体:Hibernate试图去挽救一个分离的实体 - LazyInitializationException中
@Entity
public class B{
@OneToMany
private List<C> cList;
private Long d;
}
在我管理的bean,我需要为编辑所包含的属性来加载特定B(这是完美的工作) (cList,d):
@ManagedBean
public class Bean{
private B b;
public void onEvent(Long bId){
b = bManager.load(bId);
}
}
B的属性必须使用JSF-Form进行编辑。我不希望这些更改反映到数据库中。
问题与this (old) thread差不多。 但在我的情况下没有任何建议(尝试em.flush(),em.detach(),session.evict())。
除深度复制外,没有解决方案吗?
抓取不是问题 - 我正在读取所有的c(加载后调用cList.size())。否则,在渲染组件以编辑c的属性时会发生错误。 Again:我有我需要的任何东西在我的托管bean中,需要修改它,但我不想保存它(休眠似乎尝试) – 2014-10-02 10:37:51
您是否检查过您的对象是否真的在托管bean中分离?这里是你如何检查http://stackoverflow.com/questions/19474399/how-to-identify-an-object-is-transient-or-detached-in-hibernate – 2014-10-03 08:06:52