如何解决HibernateJPA中insert插入数据后自动执行selectlast_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语句。具体原因和这样做的目的是什么不得而知。如果有知道的朋友请分享下~多谢了。

到此这篇关于如何解决HibernateJPA中insert插入数据后自动执行selectlast_insert_id()就介绍到这了。不为失败找借口,只为成功找方法。更多相关如何解决HibernateJPA中insert插入数据后自动执行selectlast_insert_id()内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
Oracle缩表空间的完整如何解决实例

详解Oracle控制文件及日志文件的管理问题

oracle指定类型和指定位数创建序列号的代码详解

Oracle官方工具SQLDeveloper的简单如何使用

Oracle如何使用in语句不能超过1000问题的如何解决办法