0
EntityManager提供了一個方法getReference()。JPA /獲取實體列表作爲參考
CriteriaBuilder中JPQL或事件是否有類似的東西,它會返回一個實體列表作爲引用?
實際上,我只使用ID並在新事務中處理每個實體。我想避免獲取所有實體,因爲這會弄亂我的內存使用。
如果我可以使用引用,我會是類型安全的,內存開銷會沒事的。
謝謝!
EntityManager提供了一個方法getReference()。JPA /獲取實體列表作爲參考
CriteriaBuilder中JPQL或事件是否有類似的東西,它會返回一個實體列表作爲引用?
實際上,我只使用ID並在新事務中處理每個實體。我想避免獲取所有實體,因爲這會弄亂我的內存使用。
如果我可以使用引用,我會是類型安全的,內存開銷會沒事的。
謝謝!
你也可以做類似
select idField from YourEntity where ..
在條件查詢
,同樣,只需使用YourEntity.idField_
值。
,以確保在標準情況下,類型安全,你可以這樣做:
CriteriaQuery<Long> criteria =criteriaBuilder.createQuery(entityClass);
Root<T> r=criteria.from(entityClass);
//Where clauses
criteria.select(r.<Long>get("id"));
TypedQuery<Long> query=entityManager.createQuery(criteria);
List<Long> result=query.getResultList();
謝謝你的答案如何獲得ID。我有一些類似於'getReference()'的想法。在那裏你不僅獲得了實體的ID,還獲得了實體。當然,這些參考實體只包含ID,但仍然有一個專門的類而不是「Long」。我想,沒有任何類似於getReference()來獲取引用列表 – user1654894