Hibernate JPA中insert插入數據後自動執行select last_insert_id()解決方法

本文出處:http://blog.csdn.net/chaijunkun/article/details/8647281,轉載請註明。由於本人不定期會整理相關博文,會對相應內容作出完善。因此強烈建議在原始出處查看此文。


今天做項目遇到了一個問題,是以前沒注意的。我用的是Spring MVC+ Hibernate JPA + MySQL數據庫。在插入數據後SQL執行日誌中會多出一條select語句:

Hibernate: insert into click_statstic (logDate, memoId, src, typeId) values (?, ?, ?, ?)
Hibernate: select last_insert_id()

表中有個主鍵是自增列。可是在以往的項目中,沒發現有這樣的問題。於是在網上各種找也找不到原因。心想可能是配置問題。


最終在persistence.xml配置文件中找到了這樣一條配置:

<property name="hibernate.temp.use_jdbc_metadata_defaults" value="false" />

把這條配置刪除就沒有了多餘的select語句。具體原因和這樣做的目的是什麼不得而知。如果有知道的朋友請分享下~多謝了。

發佈了68 篇原創文章 · 獲贊 252 · 訪問量 147萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章