Hibernate Annotation - Adult和jointable(父子)

时间:2012-04-23 04:09:35

标签: java hibernate jpa

我有2张桌子..

Adult
-------------------
id

ParentChild
-------------------
parentID(adult's id)
childID(adult's id)

当我尝试注释它们时......我一直得到NoClassDefFoundError

public class Adult

private id

private Set<Adult> children

.
.
.

@ManyToMany(fetch = FetchType.Lazy)
@JoinTable(name= "ParentChild",
joinColumns=@JoinColumn(name="id",referencedColumnName="parentID")
inverseJoinColumn=@JoinColumn(name=childID,referencedColumnName="id")
public Set<Adult> getChildren() {
.
.
}

public class ParentChild{
.
.
.
.
private String parentID
private String childID

}

我知道上面的代码有点乱,但是我被困在一个只有互联网1接入终端的地方,其余的是无法连接到互联网的开发PC。

我希望有些善良的人可以帮助我。我很确定异常是由@ManyToMany语句导致的,因为当我将其注释掉时...会导致错误。

有什么我可以下载来捕获HibernateUtil中的异常吗?这个例外似乎是无关的。

来自山区的感激之情:(

1 个答案:

答案 0 :(得分:1)

亲爱的开发者和兄弟们。

如果您在运行时遇到NoClassDefFoundError异常,请停止查看您的隐藏注释或代码。

此异常与类路径问题有关。

1)在运行时无法找到课程 2)重复的罐子。

基本上对我来说,我的类路径中有一个ejb3-persistence.jar,2个javax persistence.jar。

我从eclipse

中的构建路径中删除了javax persistence.jar后,一切正常

go project&gt; properties&gt; java build path&gt; Libraries

并正确配置您的构建路径。这应该可以解决错误。

希望它可以帮助其他开发人员陷入困境。