以类型安全的方式更新/删除 - 通过使用CriteriaQuery之类的东西?

时间:2013-01-07 15:40:56

标签: jpa orm eclipselink

是否有可能使用CriteriaQuery查询实体的更新/删除类型安全操作?

我的具体情况是,因为我想在一段时间后用EclipseLink删除一些实体集时避免使用Native查询。我正在使用Date比较并使用Native SQL。您认为这对我的情况来说是最好的用例吗?我个人认为ORM提供程序应该生成SQL并避免使用本机SQL。

提前感谢您的推荐, 西蒙

1 个答案:

答案 0 :(得分:1)

Criteria API尚不支持批量操作,但您可以使用常规JPQL更新和删除查询。提供程序将它们转换为SQL。在大多数情况下,不需要自己编写本机SQL。

例如 - 提高员工工资然后解雇他:

UPDATE Employee e
SET e.salary = 99999
WHERE e.salary = 88888


DELETE FROM Employee e
WHERE e.salary = 99999