Я использую JPA, поэтому, чтобы получить одну строку данных, я мог бы сделать:
Person p = this.em.find(Person.class, 123);
// Note: 'em' is the EntityManager.
Но как я могу получить несколько строк? Как я могу получить что-то вроде SQL SELECT * FROM people WHERE age>18;
?
Я знаю, как использовать JPQL для получения нескольких строк (в данном случае, всех строк):
TypedQuery<Person> q = em.createQuery("SELECT p FROM Person p", Person.class);
List<Person> results = q.getResultList();
Но Есть ли способ сделать это без необходимости писать JPQL (то есть SELECT p FROM Person p
) вообще?
Примечание. Это упражнение для обучения. Я хочу придерживаться только Jakarta EE (без Spring или любого другого API, который находится за пределами Jakarta EE).