org.hibernate.LazyInitializationException:非法访问加载集合

时间:2013-09-02 13:44:51

标签: hibernate jpa

我正在使用JPA和Hibernate持久性提供程序从数据库中获取大量记录。这里createQuery用于创建一个查询,该查询从DB返回一些记录,这些记录是根据用户给出的特定id(相应表的主键)识别的:

WFile wFile = d.getWFile();
Query query = entityManager.createQuery(QUERY_DECISION_ORDINAL);
query.setParameter("id", wFile.getId());
Long count = (Long) query.getSingleResult();
d.setOrdinal(count.intValue());
entityManager.persist(d);

我的问题是:getSingleResult仅针对某些特定ID引发错误,并为其他ID顺利运行。

堆栈跟踪:

org.hibernate.LazyInitializationException: illegal access to loading collection  
    at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:363)
    at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:108)
    at org.hibernate.collection.AbstractPersistentCollection.readSize(AbstractPersistentCollection.java:131)

0 个答案:

没有答案