簡體   English   中英

一對多查詢集合

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM