JPQL查询多对多联接表

问题描述 投票:0回答:1

我有2个实体,用户和AccountBase具有多对多关系。我需要从联接表中选择具有选定用户ID的所有AccountBase对象。我已经尝试了一些联接查询,但是不起作用。

    @Table(name = "ACCOUNT")
    @DiscriminatorColumn(name = "ACCOUNT_TYPE", length = 1)
    public abstract class AccountBase extends ModelBase {

        protected double balance;
        protected List<User> users = new ArrayList<>();
@Table(name = "USER_ACCOUNT")
public class User extends ModelBase implements Serializable {
    private static final long serialVersionUID = 1L;

    protected String name;
    protected List<AccountBase> bankAccounts = new ArrayList<>();

// bi-directional many-to-many association to AccountBase
    @ManyToMany
    @JoinTable(name = "USER_ACCOUNT_ACCOUNT", joinColumns = { @JoinColumn(name = "USER_ID") }, inverseJoinColumns = {
            @JoinColumn(name = "ACCOUNT_ID") })
    public List<AccountBase> getBankAccounts() {
        return this.bankAccounts;
    }

enter image description here

java jpa many-to-many jpql
1个回答
0
投票

从帐户基础加入用户实体

select account from AccountBase account join account.users user where user.id=? 
© www.soinside.com 2019 - 2024. All rights reserved.