相关疑难解决方法(0)

用于MSSQL 2014的错误的hibernate方言

我将使用序列的实体插入MSSQL 2014数据库时遇到问题.我使用Wildfly 10 CR4附带的hibernate(但在CR1和CR2中我遇到了同样的问题).

以下是有关webapp运行环境的一般信息:

  1. Wildfly 10(CR4)
  2. Java 8 u 51
  3. Windows 7专业版64位
  4. MSSQL Server 2014
  5. MSSQL驱动程序:sqljdbc42.jar部署在应用程序服务器上

我的persistence.xml文件如下所示:

<persistence-unit name="mb_managed_pu" transaction-type="JTA">
    <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
    <jta-data-source>java:/jdbc/datasource</jta-data-source>
    <properties>
        <property name="hibernate.archive.autodetection" value="class, hbm" />
        <property name="hibernate.show_sql" value="true" />
        <property name="hibernate.format_sql" value="true" />
        <property name="hibernate.jdbc.batch_size" value="0" />
        <property name="hibernate.default_schema_" value="openmap"/>
        <property name="hibernate.connection.useUnicode" value="yes"/>
        <property name="hibernate.connection.characterEncoding" value="UTF-8"/>
    </properties>
</persistence-unit>
Run Code Online (Sandbox Code Playgroud)

现在这是我遇到错误时会发生什么.

首先,当Wildfly启动时,我可以看到这个警告:

WARN [org.hibernate.engine.jdbc.dialect.internal.StandardDialectResolver](ServerService线程池 - 68)HHH000385:使用SQL Server 2000方言的未知Microsoft SQL Server主要版本[12]

我浏览了网页,发现这个问题自2015年1月以来就已为人所知,但不幸的是,这仍然是一个悬而未决的问题.

当我尝试持久化具有配置为使用序列的ID的新实体时,会引发错误本身:

@Id
@Column(name = "MAP_BOOKMARK_ID")
@SequenceGenerator(name = "SEQ_MAP_BOOKMARKS", sequenceName = "SEQ_MAP_BOOKMARKS", allocationSize = 1)
@GeneratedValue(generator …
Run Code Online (Sandbox Code Playgroud)

java hibernate wildfly

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

hibernate ×1

java ×1

wildfly ×1