0
Java代碼:JPA /休眠:忽略一直存在命名查詢
fooDAO.resetField(); // ...namedQuery
foo.setField(true);
fooDAO.persist(foo);
foo.field
是一個布爾屬性。
resetField()
執行一個命名查詢,將所有db行中的字段設置爲FALSE。
如果foo.field
最初是FALSE,hibernate執行2個SQL查詢,即。指定的查詢和setField/persist組合的更新查詢。 但是,如果foo.field
最初爲TRUE,只是第一個SQL查詢得到執行,將所有行中的字段設置爲FALSE,第二個SQL查詢將被忽略! ...爲什麼?
需要看更多的代碼才能得出結論。你給出的測試用例應該可以正常工作。它應該執行兩個查詢。 – 2014-09-04 08:00:45