服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Oracle - 解决Hibernate JPA中insert插入数据后自动执行select last_insert_id()

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

2019-12-03 15:27SQL教程网 Oracle

这篇文章主要介绍了Hibernate JPA中insert插入数据后自动执行select last_insert_id()的解决方法。需要的朋友可以过来参考下,希望对大家有所帮助

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

延伸 · 阅读

精彩推荐