【发布时间】:2013-07-01 13:12:32
【问题描述】:
我是否缺少注释或者这是对休眠检索的限制?
实体:
class A {
Long id;
Set<B> b;
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "A_B", joinColumns = @JoinColumn(name = "A_ID"), inverseJoinColumns = @JoinColumn(name = "B_ID")
public Set<B> getBs() {
return b;
}
}
class B {
Long id;
Set<C> c;
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "B_C", joinColumns = @JoinColumn(name = "B_ID"), inverseJoinColumns = @JoinColumn(name = "C_ID")
public Set<C> getCs() {
return C;
}
}
DAO:
class ADaoImpl {
public A load(Long id) {
return new A((A) session.load(A.class, id);
}
}
当我尝试加载 A 时,我得到一个
Caused by: java.lang.NullPointerException
at org.hibernate.engine.internal.StatefulPersistenceContext.getLoadedCollectionOwnerOrNull(StatefulPersistenceContext.java:853)
【问题讨论】:
-
你用的是什么Hibernate版本?
-
还请发布完整的堆栈跟踪(至少到您自己的代码为止)。
-
对我来说无论如何它看起来像 Hibernate 错误。我搜索了他们的错误数据库,但在
StatefulPersistenceContext.java:853中没有 NPE。然后你可以提交一个错误。
标签: hibernate hibernate-mapping