gpt4 book ai didi

java - 集合的一对多查询

转载 作者:行者123 更新时间:2023-11-29 04:33:13 26 4
gpt4 key购买 nike

我有一对多关系:

public class Account{
@OneToMany(cascade=CascadeType.ALL)
private List<Transaction>transactions = new ArrayList<>();
}

public class Transaction{
@ManyToOne
@JoinColumn(name="ACCOUNT_ID")
private Account account;
}

我想获取用户的所有帐户,它有效,但交易列表是空的。这是实体映射的问题还是我应该修改我的查询?

我从(空交易列表)开始:

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<>();

关于java - 集合的一对多查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42924683/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com