2

Junit でエンティティ値をテストしようとしていますが、エンティティには遅延フェッチ タイプとの多対多の関係があります。

これを Junit で展開しようとすると、次のエラーが発生します。 私の理解が間違っている場合は強調してください。必要なのは、Junit でセッションを開き、このオブジェクトをロードすることだけです。

SEVERE: ロールのコレクションの遅延初期化に失敗しました: com.example.stock.model.Stock.locations、セッションまたはセッションが閉じられませんでした org.hibernate.LazyInitializationException: ロールのコレクションの遅延初期化に失敗しました: com.example.stock.model.Stock.locations、org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358) でセッションまたはセッションが閉じられませんでしたorg.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350) で org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:343) で) org.hibernate.collection.PersistentBag.iterator(PersistentBag.java:249) で com.example.common.StockManytoManyTest.testGetStock(StockManytoManyTest.java:53) で sun.reflect.Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) の NativeMethodAccessorImpl.invoke0(ネイティブ メソッド)

4

2 に答える 2

6

統合テスト クラスまたはメソッドに で注釈を付けます@Transactional。参照: 10.3.5.4 トランザクション管理.

于 2012-04-30T09:25:36.013 に答える