我正在使用Hibernate(5.1),我需要在符合条件的所有实体上的集合字段中添加一个元素,而无需全部获取它们。
@Entity
public class Order {
@Id
public Long id;
public Date placedOn;
@ManyToMany
public List<Item> items;
}
我需要将新Item
的相同实例添加到特定日期之后放置的所有Order
。我需要使用Criteria API,而不是JPQL。
这可能吗?我无法找到相关文档。
P.S。订单/商品只是一个例子,我正在寻找一种通用方法,我还需要调整它以从集合中删除商品。
答案 0 :(得分:0)
您无法使用CriteriaUpdate执行此操作,因为它不是更新,而是许多插入,因为您具有在数据库中的关系表上中继的ManyToMany关系。
因此,您必须查询所有订单,然后添加将生成插入语句的项目。