java - JPQL查询多对多连接表
问题描述
我有 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;
}
解决方案
从帐户库加入用户实体
select account from AccountBase account join account.users user where user.id=?
推荐阅读
- java - HikariCp 连接池不会将废弃的连接返回到池中,并且我收到消息太多客户端连接到 postgres
- xamarin - 如何在 Xamarin Android 中使用相机获取捕获图像的名称
- javascript - 如何使每个元素分开
- android - Android中的视频处理问题
- composer-php - 在这种情况下,composer 是否有解决方案来运行 composer install ?
- reactjs - 如何在任何连接的组件中获取调度函数引用和动作创建者作为道具
- python - 我如何使用 tensorflow-transform 来处理图像,例如定义一个操作来降低图像的平均值
- java - 看不到由 firebase-admin sdk 发送的消息的通知报告
- java - 从 LDAP 获取当前用户的所有组和角色
- java - 使用 Spring Boot,有没有办法让多个数据源使用相同的模型和存储库?