Java Hibernate和MSSQL 2016版
我面临一个Java应用程序(JVM1.6)的问题,该应用程序使用Hibernate3.6通过MicrosoftJDBCDriverforSQLServer访问MicrosoftSQLServer 当使用SQLJDBC驱动程序3.0和MSSQLS2008-2014时,一切都正常工作 但是,当我尝试使用MSSQL 2016(最新的“Microsoft JDBC驱动程序6.0”(sqljdbc4.jar))时,我遇到了一系列错误:Java Hibernate和MSSQL 2016版,java,sql-server,hibernate,jdbc,sql-server-2016,Java,Sql Server,Hibernate,Jdbc,Sql Server 2016,我面临一个Java应用程序(JVM1.6)的问题,该应用程序使用Hibernate3.6通过MicrosoftJDBCDriverforSQLServer访问MicrosoftSQLServer 当使用SQLJDBC驱动程序3.0和MSSQLS2008-2014时,一切都正常工作 但是,当我尝试使用MSSQL 2016(最新的“Microsoft JDBC驱动程序6.0”(sqljdbc4.jar))时,我遇到了一系列错误: org.hibernate.StaleObjectStateExcep
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect)
它发生在不同的实体上,也可以发生在get或update操作上
我的问题:这是Hibernate的一个问题,它也需要更新到新版本吗?
通过Java/Hibernate访问MSSQL 2016时,我找不到任何有关兼容性问题的信息
谢谢 如果可能,您可以尝试使用JVM 1.7和sqljdbc41.jar吗?如果您能够使用JVM1.8和sqljdbc42.jar,效果会更好 Microsoft最近在其上打开了驱动程序的源代码。您可以就他们的github项目提出问题 根据我对SQL Server 2016的理解,您需要sqljdbc41.jar或sqljdbc42.jar 此外,您可以在上找到更多官方文档 用于SQL Server的Microsoft JDBC驱动程序6.0和4.2: 为了支持向后兼容性和可能的升级方案,JDBC驱动程序6.0和4.2在每个安装包中包括四个JAR类库:sqljdbc.JAR、sqljdbc4.JAR、sqljdbc41.JAR和sqljdbc42.JAR。注意:提供sqljdbc.jar、sqljdbc4.jar只是为了向后兼容,不包含驱动程序版本6.0、4.2和4.1中包含的新功能
或者可能相关也似乎相关。谢谢回复。在这里提问之前,我看过这些帖子,不幸的是它们并没有为我的问题提供解决方案。我相信你是对的。我们最近向应用程序添加了JVM1.8支持,因此下一步将是尝试。谢谢