5
JPA 2基準のクエリAPIを使い始め、習得するのは難しいです。ネットの周りを少し見ましたが、まだ良い例/チュートリアルは見つかりませんでした。誰かが良いチュートリアルを提案したり、コード化しようとしている次の簡単なクエリで助けてくれますか?JPA 2 CriteriaQuery質問
public class Transaction {
private Account account;
...
}
public class Account {
private Long id;
...
}
が、私はそのアカウント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();
}
誰かが正しい方向に向いていますか?
ありがとうございました。上記のコードの意味を理解する
public List<Transaction> findTransactions(Long accountId) {
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Transaction> query = builder.createQuery(Transaction.class);
Root<Transaction> _transaction = query.from(Transaction.class);
Path<Account> _account = _transaction.get(Transaction_.account);
Path<Long> _accountId = _account.get(Account_.id);
query.where(builder.equal(_accountId, accountId));
return entityManager.createQuery(query).getResultList();
}
お読みください: - - : ネアシュ
はあなたにbecomputer06ありがとう!これは魅力のように機能します。私は、hibernate-jpamodelgenへの依存をpomに追加することで、非常に簡単にメタモデルを生成することができました。私は、m2eclipseプラグインが何の不具合もなくそれを拾うことを望んでいましたが、今はそれをやっていません。 Eclipseで注釈プロセッサを有効にすると、再帰的なコンパイルサイクルに入ります!とにかく、基本的な問題は解決されます。ありがとう。 – Naresh