JPA 2 CriteriaQuery Question

Я только начинаю с 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

5
задан Sean Patrick Floyd 20 January 2011 в 08:11
поделиться