0

私は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で例外をトラップするためにダウンロードできるものはありますか?例外は無関係のようです。

山からの感謝:(

4

1 に答える 1

1

親愛なる開発者と兄弟。

実行時にNoClassDefFoundError例外が発生した場合は、Hibernateの注釈またはコードを探すのをやめてください。

この例外は、クラスパスの問題に関連しています。

1)実行時にクラスが見つかりません2)重複したjar。

基本的に私にとっては、クラスパスにejb3-persistence.jar、2javaxpersistence.jarがありました。

Eclipseのビルドパスからjavaxpersistence.jarを削除すると、すべてが機能します

プロジェクト>プロパティ>Javaビルドパス>ライブラリに移動します

ビルドパスを適切に構成します。これでエラーが解決するはずです。

それが別の開発者が山で立ち往生するのを助けることを願っています。

于 2012-04-24T11:14:23.877 に答える