Я только начинаю с API запросов критериев JPA 2 и считаю его трудным для изучения. Немного поискал в сети, но пока не нашел хороших примеров / руководств. Может ли кто-нибудь предложить хорошее руководство и / или помочь мне со следующим простым запросом, который я пытаюсь закодировать?
У меня есть класс Transaction, в котором есть ссылка на Аккаунт, которому он принадлежит:
public class Transaction {
private Account account;
...
}
public class Account {
private Long id;
...
}
Мне нужно закодировать запрос, который получает все транзакции для учетной записи с учетом ее идентификатора учетной записи. Вот моя попытка сделать это (которая, очевидно, не работает):
public List<Transaction> findTransactions(Long accountId) {
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Transaction> query = builder.createQuery(Transaction.class);
Root<Transaction> transaction = query.from(Transaction.class);
// Don't know if I can do "account.id" here
query.where(builder.equal(transaction.get("account.id"), accountId));
return entityManager.createQuery(query).getResultList();
}
Может ли кто-нибудь указать мне правильное направление?
Спасибо. Naresh