- 解決方法:
手動提交事務
注意:是否配置了inverse屬性,這也有可能是影響的一個原因
雖然知道現在hibernate不流行了,但是我覺得還是稍微學一下比較好,萬一以後工作叫改老項目呢。哈哈哈,其實就是典型的不學不放心,希望越多越好而已,自己也知道學不完,不多瞎扯,說一下自己遇到的這個問題。
剛開始時採用的是在hibernate中寫
<property name="hibernate.connection.autocommit">true</property>
即在配置文件中配置使事務自動提交,然後無論如何修改其他代碼,外鍵依然還是無法賦值。
後來,突然想起hibernate配置了事務的自動提交,刪除操作還是要手動提交纔有效,於是又跑去測試代碼中,手動獲取事務和提交,然後一試,發現成功了,nice!
事後,仔細對比了以下二者的sql語句,發現未手動提交事務時,代碼沒有設置外鍵的sql語句。暈,當時覺得看sql麻煩就沒看,結果導致解決這問題花了這麼久時間。