[英]One-to-Many query for collection
我有一對多的關系:
public class Account{
@OneToMany(cascade=CascadeType.ALL)
private List<Transaction>transactions = new ArrayList<>();
}
public class Transaction{
@ManyToOne
@JoinColumn(name="ACCOUNT_ID")
private Account account;
}
我希望獲得User
所有Accounts
,並且它可以工作,但是Transaction
列表是空的。 這是實體映射的問題還是應該修改我的查詢?
我開始(空交易清單):
TypedQuery<Account>query = em.createQuery("SELECT a FROM Account a WHERE a.user.id = ?1",Account.class);
也試圖像這樣加入(根本沒有賬號):
TypedQuery<Account>query = em.createQuery("SELECT a FROM Account a JOIN a.transactions t WHERE a.user.id = ?1",Account.class);
這有什么不對?
您似乎忘了在注釋屬性中添加mappedBy
:
@OneToMany(cascade=CascadeType.ALL, mappedBy="account")
private List<Transaction>transactions = new ArrayList<>();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.