2

我正在尝试在 Junit 中测试实体值,该实体与惰性获取类型具有多对多关系。

当我尝试在 Junit 中扩展它时,我收到以下错误。 如果我的理解有误,请高亮,我只需要在 Junit 中打开会话并加载此对象。

严重:未能延迟初始化角色集合: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.initialize(AbstractPersistentCollection.java:343) 在 org.hibernate.collection.AbstractPersistentCollection.java:350) 在 org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350) ) 在 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(Native Method)

4

2 回答 2

6

用 .注释您的集成测试类或方法@Transactional。另见:10.3.5.4 事务管理

于 2012-04-30T09:25:36.013 回答
1
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true)
@Transactional
公共类 TestAnything{
   ...
}
于 2016-03-10T17:57:33.713 回答