JPA / Получить список объектов в качестве ссылок
EntityManager предоставляет метод getReference().
Есть ли что-то похожее в JPQL или событие лучше в CriteriaBuilder, которое бы возвращало список сущностей в виде ссылок?
На самом деле я использую только идентификатор и обрабатываю каждую сущность в новой транзакции. Я хочу избежать получения всех сущностей, потому что это испортит использование моей памяти.
Если бы я мог использовать ссылки, я был бы в безопасности типа, и накладные расходы памяти было бы хорошо.
Спасибо!
2 ответа
Вы также можете сделать что-то вроде
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();