Właśnie zaczynam z API zapytań o kryteria JPA 2 i stwierdzam, że trudno się z nim nauczyć. Rozglądałem się trochę po sieci, ale nie znalazłem jeszcze dobrych przykładów/tutoriali. Czy ktoś może zaproponować dobry samouczek i/lub pomóc mi w następującym prostym zapytaniu, które próbuję zakodować?JPA 2 CriteriaQuery Question
Mam klasy o nazwie transakcji, która ma odniesienie do Rachunku, że należy:
public class Transaction {
private Account account;
...
}
public class Account {
private Long id;
...
}
muszę zakodować kwerendy, która pobiera wszystkie transakcje na koncie ze względu na jego konto id. Oto moja próba zrobienia tego (co oczywiście nie działa):
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();
}
Czy ktoś może wskazać mi właściwy kierunek?
Dzięki. Naresh
Dziękuję becomputer06 ! Działa to jak urok. Udało mi się dość łatwo wygenerować metamodel, dodając zależność do hibernacji-jpamodelgen do mojego pom. Miałem nadzieję, że wtyczka m2eclipse odbierze go bez żadnych zakłóceń, ale nie robi tego teraz. Jeśli włączę procesor adnotacji w czasie zaćmienia, przechodzę do rekurencyjnego cyklu kompilacji! W każdym razie podstawowy problem został rozwiązany. Dzięki. – Naresh