java - 批量插入多对多关系

标签 java hibernate jpa many-to-many

我有一个实体定义为:

class Group {

    // some irrelevant fields

    @ManyToMany(targetEntity=User.class)
    private List<User> users;
}

class User {

    // some irrelevant fields

    @ManyToMany(targetEntity=Group.class)
    private List<Group> groups;
}

在我的界面中,我试图提供一种以批量输入形式将用户添加到组的方法。有没有办法允许插入新的多对多条目,而不必先加载组中的整个用户集合?

最佳答案

其中一侧必须是反面,使用mappedBy。您只需要更新所有者端即可。

因此,如果您将User设为所有者方,则只需将组添加到用户即可。

如果这还不够,请考虑使用 SQL。

此外,targetEntity 对于列表的通用类型来说是多余的。你不需要它。

关于java - 批量插入多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20301038/

相关文章:

Java Socket 快速重连

java - 如何按顺序插入多行

java - 创建后在 hibernate 中更改模型对象的数据类型

java - DataNucleus 3.0.0 版本需要哪些依赖项?

mysql - JPA/Hibernate 连接表/连接列 ID 未标记为外键?

java - 在 Quarkus 中使用 ResourceLoader

java - 我可以在 Guice 的 Module.configure() 中使用已经绑定(bind)的实例吗?

java.lang.NoSuchMethodException : com. mchange.v2.c3p0.PoolBackedDataSource.setUserOverridesAsString(java.lang.String)

java - 具有继承性的 JPA 映射 View 和表

java - 无法推断基本 url - Spring 4.2、Spring Security 4.2、Swagger 2.8.0