Q
休眠更新同一列
0
A
回答
0
如果找到多個具有相同列名稱的結果,則可以使用EntityManager.merge(),這可能導致NonUniqueObjectException。
更好地使用NamedQuery或NativeNamedQuery來實現此目的。
0
我的理解是,你會想要執行批量更新。
我建議你參考這個link
您可以使用下面的代碼,以完成這件事。
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
String hqlUpdate = "update Customer c set c.name = :newName where c.name = :oldName";
int updatedEntities = s.createQuery(hqlUpdate)
.setString("newName", newName)
.setString("oldName", oldName)
.executeUpdate();
tx.commit();
session.close();
請注意鏈接中提到的以下幾點。
在大批量HQL查詢中禁止隱式或顯式聯接。您可以在WHERE子句中使用子查詢,並且子查詢本身可以包含連接。
相關問題
- 1. 休眠同時更新
- 2. 使用休眠更新列
- 3. 休眠與列表更新
- 4. 從休眠3.6更新到休眠4.0
- 5. 更新一列有不同的值在哪裏條件 - 休眠
- 6. 休眠更新OneToMany
- 7. 更新在休眠
- 8. 更新在休眠
- 9. 休眠更新表
- 10. 休眠:如何更新不同的ID
- 11. 休眠更新一個一個單向
- 12. 休眠+ H2不更新yes_no類型列
- 13. 休眠更新對象的所有列
- 14. 休眠更新多個對象列表
- 15. 休眠:更新一父多映射
- 16. 休眠更新一到多級聯
- 17. 休眠@更新前/ @ PrePersist不一致
- 18. 休眠和批量更新
- 19. 休眠刪除並更新
- 20. 休眠JDBCConnectionException:無法更新
- 21. 如何更新休眠
- 22. 多重更新休眠
- 23. 更新休眠手動版
- 24. 休眠事務和'更新'
- 25. 休眠更新問題
- 26. 休眠更新查詢
- 27. 休眠更新的EntityManager
- 28. 休眠動態更新
- 29. 休眠更新查詢
- 30. 休眠親子更新