第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Hibernate:?jiǎn)⒂?useAffectedRows 會(huì)導(dǎo)致無(wú)操作更新出現(xiàn)

Hibernate:?jiǎn)⒂?useAffectedRows 會(huì)導(dǎo)致無(wú)操作更新出現(xiàn)

蕭十郎 2023-07-13 14:10:24
我需要更新一個(gè) Java 應(yīng)用程序,以便 SQL 更新依賴于“受影響的行”的計(jì)數(shù),而不是“找到的行”(長(zhǎng)話短說(shuō))。我運(yùn)行了使用 MySQL 數(shù)據(jù)庫(kù)的應(yīng)用程序測(cè)試套件,useAffectedRows=true果然,有很多失敗都出現(xiàn)此錯(cuò)誤:javax.persistence.OptimisticLockException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect)實(shí)際原因似乎是這個(gè)異常:org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect)據(jù)我所知,只有在一個(gè)事務(wù)中創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象并將其保存到數(shù)據(jù)庫(kù),然后在新事務(wù)中再次保存并且沒(méi)有字段發(fā)生更改(即無(wú)操作)時(shí),才會(huì)發(fā)生這種情況。這種情況最常發(fā)生在級(jí)聯(lián)保存中。如果我在將對(duì)象保存到第二個(gè)事務(wù)中之前刷新對(duì)象或更改對(duì)象上的字段值,則一切正常。我假設(shè)發(fā)生這種情況是因?yàn)閱⒂脮?huì)useAffectedRows導(dǎo)致這些類型的更新返回行0計(jì)數(shù),因?yàn)閷?shí)際上沒(méi)有更新任何內(nèi)容,因此 Hibernate 認(rèn)為更新失敗。我是否需要配置其他設(shè)置以使 Hibernate 能夠接受“無(wú)操作更新”,或者我是否需要更改以某種方式處理事務(wù)的方式?
查看完整描述

1 回答

?
HUX布斯

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個(gè)贊

從連接器/J 配置屬性

使用受影響的行

連接到服務(wù)器時(shí)不要設(shè)置 CLIENT_FOUND_ROWS 標(biāo)志(不符合 JDBC,將破壞大多數(shù)依賴“已找到”行與“受影響行”進(jìn)行 DML 語(yǔ)句的應(yīng)用程序),但會(huì)導(dǎo)致“正確”更新計(jì)數(shù)從“ INSERT ... ON DUPLICATE KEY UPDATE”語(yǔ)句由服務(wù)器返回。

以及相關(guān)的

與 MySQL 不同,Vitess JDBC 驅(qū)動(dòng)程序默認(rèn) useAffectedRows 為 true。值得注意的是,這破壞了 hibernate 的 saveOrUpdate() 和replicate() 方法,因?yàn)樗鼈兤谕Y(jié)果是匹配的行。

根據(jù)一些谷歌搜索,你不太可能得到一個(gè)簡(jiǎn)單的修復(fù)。您是正在做非標(biāo)準(zhǔn)事情的人,并且由于 Hibernate 開(kāi)發(fā)人員嘗試考慮各種奇怪的怪癖(更不用說(shuō)這可能會(huì)影響整個(gè)設(shè)計(jì))是不明智的,因此您必須要么想出一些非常丑陋的黑客,要么嘗試擺脫 useAffectedRows 屬性。


查看完整回答
反對(duì) 回復(fù) 2023-07-13
  • 1 回答
  • 0 關(guān)注
  • 200 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)