0

EntityManager 提供了一个方法 getReference()。

JPQL 中是否有类似的东西或 CriteriaBuilder 中更好的事件,它会返回实体列表作为参考?

实际上,我只使用 ID 并在新事务中处理每个实体。我想避免获取所有实体,因为它会弄乱我的内存使用。

如果我可以使用引用,我将是类型安全的,并且内存开销也可以。

谢谢!

4

2 回答 2

1

你也可以做类似的事情

select idField from YourEntity where ..

同样在您的条件查询中,只需使用该YourEntity.idField_值。

于 2013-07-12T11:07:50.980 回答
0

为了确保标准情况下的类型安全,您可以这样做:

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();
于 2013-07-12T11:52:02.660 回答