Самый простой способ сделать это - использовать Criteria query
, но чтобы использовать его внутри Entity
, вам придется ввести туда EntityManager
, что считается плохой практикой. Лучшим решением было бы создать этот запрос в Service
.
Но если вы все еще хотите это сделать, тогда ваш метод getUsers
будет выглядеть примерно так:
public List<User> getUsers() {
Criteria cr = entityManager.createCriteria(User.class)
.setProjection(Projections.projectionList()
.add(Projections.property("id"), "id")
.setResultTransformer(Transformers.aliasToBean(User.class));
List<User> list = cr.list();
return list;
}
Если вы хотите ограничить свой список, просто используйте Restrictions
, например: criteria.add(Restrictions.eq("id", yourRestrictedId))