zx_*_*ing 5 hibernate jpa criteriaquery
JPA2.0中的CriteriaQuery提供了一种类型安全的选择方法,它非常棒.但我想知道它为什么不提供更新/删除操作?要批量更新/删除,您必须回到旧时编写容易出错的SQL或JPQL文本.IMO,更新/删除的CriteriaQuery不应该证明是困难的,因为where cause处理与select相同.
希望这将在下一版本的JPA中实现.
因为JPA是ORM工具,其动机是将数据库记录映射到对象,以便可以使用编程语言而不是SQL来操作数据库记录,所以它不鼓励使用SQL/HQL/JPQL来执行更新。
为了防止使用容易出错的 SQL 或 JPQL 来更新对象,一旦您使用CriteriaQuery检索对象列表,您可以简单地循环遍历结果对象,然后逐一更改对象的属性,以便进行批量操作更新或删除。JPA应该能够检测到对这些对象所做的更改,并在调用时生成合适的SQL来批量更新相应的记录EntityManager.flush()。
| 归档时间: |
|
| 查看次数: |
3933 次 |
| 最近记录: |