我看到this link at Nabble某人(James Sutherland)向某人说他们“正在执行删除所有JPQL查询。这基本上类似于执行自己的SQL,你负责正确执行查询以维护你的约束。
这不是在JPA中删除对象的常规方法。在JPA中,您通常会读取该对象,然后在其上调用remove()。“。
我想知道这是否属实;根据删除多个简单表格的难度,我开始认为这是正确的。
到目前为止,我的想法是这样做的:
这听起来像一个人如何使用JPA或者我不在基地的方法听起来合理吗?
答案 0 :(得分:1)
此处讨论了删除的级联:Google App Engine - DELETE JPQL Query and Cascading。另外,例如,当使用乐观锁定时,批量更新不会更新版本列。因此批量更新/删除在JPA中有点瘫痪。
但我不会说这不是删除JPA中对象的正常方法。当我需要根据某些条件选择删除2个,20个或200个对象并首先获取它们只是为了在每个对象上调用remove()
,这在大多数情况下是个坏主意。
在规范中存在所有批量更新/删除之后的原因。