我有什麼可能是一個非常基本的休眠問題。 HQL(和/或標準)更新查詢是否會導致實時域對象的更新?他們是否會自動從第一級緩存中刷新現在無效的域對象?HQL更新和域對象
例子:
Player playerReference1 = session.get(Player.class,1);
session.createQuery("update players set gold = 100").executeUpdate();
//Question #1 -- does playerReference1.getGold() now return 100?
Player playerReference2 = session.get(Player.class,1);
//Question #2 -- does playerReference2.getGold() return 100, or is it the same exact object?
我應該驅逐所有受影響的對象通過HQL更新,如果有一個機會,一些代碼以後會需要它的做法?
實際上,您的解決方案對我來說工作得很好,在批量更新似乎是個好主意之後對當前會話執行flush + clear操作 – 2011-08-24 14:06:49