1

DB から多数のレコードをフェッチするために、Hibernate 永続化プロバイダーで JPA を使用しています。ここでcreateQueryは、ユーザーが指定した特定の ID (対応するテーブルの主キー) に基づいて識別される、DB から多数のレコードを返すクエリを作成するために使用されます。

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

0 に答える 0