我需要在一个查询中更新对象列表。 我有类Parent,其中包含ManyToMany关系中的Child列表。 我需要通过将子列表设置为空来更新父列表(从连接表中删除所有子引用)。 目前我设置子列表以清空并使用合并操作更新查询中的每个实体,但是当我有大量药房时,查询太多。
我尝试了这个查询:
update Parent p set p.children=:children where p in (:parents)
其中:儿童是new HashSet<Child>
但它给了我错误
意外的子树结束
有没有办法在一个查询中更新列表?我正在使用jpa实体经理。 感谢。
答案 0 :(得分:0)
您似乎错过了where
关键字
update Parent p set p.children=:childrenwhere where p in (:parents)
或者您可以尝试使用id
update Parent p set p.children=:childrenwhere where p.id in (:parentIds)