1

我正在使用 JPA 和 Hibernate 持久性提供程序来从数据库中获取许多记录。这里createQuery用于创建一个查询,该查询返回数据库中的许多记录,这些记录是根据用户给出的特定 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 抛出错误,而对其他的则运行顺利。

堆栈跟踪:

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)
4

0 回答 0