欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

解决Hibernate JPA中insert插入数据后自动执行select last_insert_id()

程序员文章站 2023-11-25 16:36:46
今天做项目遇到了一个问题,是以前没注意的。我用的是spring mvc+ hibernate jpa + mysql数据库。在插入数据后sql执行日志中会多出一条selec...

今天做项目遇到了一个问题,是以前没注意的。我用的是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语句。具体原因和这样做的目的是什么不得而知。如果有知道的朋友请分享下~多谢了。