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();
Другие вопросы по тегам