我有一个实体定义为:
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;
}
在我的界面中,我试图提供一种以一种批量输入形式将用户添加到组的方法。有没有办法允许插入新的多对多条目,而不必先在组中加载整个用户集合?
答案 0 :(得分:0)
其中一方必须是反面,使用mappedBy
。您只需要更新所有者方。
因此,如果您将User
设为所有者,则只需将该组添加到用户即可。
如果这还不够,那么请考虑使用SQL。
此外,targetEntity
对于列表的泛型类型是多余的。你不需要它。
答案 1 :(得分:0)
不,使用JPQL无法做到这一点,尽管您没有定义“以某种批量输入形式”。基本上,您要么使用本机查询(即SQL查询),要么获取整个集合。有关详细信息,请参阅this question。