如何解决JPA:使用 EclipseLink 和 Microsoft 的 SQLServer 数据库配置 WildFly 8.x JTA 数据源
如何正确配置 WildFly 8.x JTA 数据源以便将 JPA 与 EclipseLink 和 Microsoft 的 sqlServer 数据库一起使用?
解决方法
A:使用 WildFly 配置 EclipseLink
1- 从 Maven 下载 EclipseLink
jar:
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>eclipselink</artifactId>
<version>2.6.2</version>
</dependency>
2- 将其重命名为 eclipselink.jar
。
3- 从 Maven 下载 JipiJapa EclipseLink Integration
jar:
<dependency>
<groupId>org.jipijapa</groupId>
<artifactId>jipijapa-eclipselink</artifactId>
<version>1.0.1.Final</version>
</dependency>
4- 将其重命名为 jipijapa_eclipselink.jar
。
5- 创建文件夹 [JBOSS_HOME]\modules\org\eclipse\persistence\main
。
6- 在同一文件夹中创建 module.xml
并将以下内容粘贴到
它:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="org.eclipse.persistence">
<resources>
<resource-root path="eclipselink.jar" />
<resource-root path="jipijapa_eclipselink.jar" />
</resources>
<dependencies>
<module name="javax.api" />
<module name="javax.persistence.api" />
<module name="javax.transaction.api" />
<module name="javax.validation.api" />
<module name="javax.xml.bind.api" />
<module name="org.antlr" />
<module name="org.apache.commons.collections" />
<module name="org.dom4j" />
<module name="org.javassist" />
<module name="org.jboss.logging" />
<module name="javax.ws.rs.api"/>
</dependencies>
</module>
7- 将 eclipselink.jar
和 jipijapa_eclipselink.jar
复制到同一文件夹中。
B:使用 WildFly 配置 MSSQL
1- 从 Maven 下载 MSSQL JDBC
jar:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.5.2.jre8</version>
<scope>test</scope>
</dependency>
2- 将其重命名为 mssql.jar
。
3- 从 Maven 下载 SqlJdbc4
jar:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
</dependency>
4- 将其重命名为 sqljdbc4.jar
。
5- 创建文件夹 [JBOSS_HOME]\modules\com\microsoft\main
。
6- 在同一文件夹中创建 module.xml
并将以下内容粘贴到其中:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.microsoft">
<resources>
<resource-root path="sqljdbc4.jar"/>
<resource-root path="mssql.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
7- 将 mssql.jar
和 sqljdbc4.jar
复制到同一个文件夹中。
8- 通过添加以下数据源来编辑 [JBOSS_HOME]\standalone\configuration\standalone.xml
(搜索 <datasources>
标记并将以下数据源插入其中):
<datasource jta="true" jndi-name="java:jboss/MyDS" pool-name="MyDS" enabled="true" use-ccm="true">
<connection-url>jdbc:sqlserver://localhost:1433;databaseName=DBName</connection-url>
<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
<driver>sqlserver</driver>
<security>
<user-name>username</user-name>
<password>password</password>
</security>
<validation>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
</validation>
<timeout>
<set-tx-query-timeout>false</set-tx-query-timeout>
<blocking-timeout-millis>0</blocking-timeout-millis>
<idle-timeout-minutes>0</idle-timeout-minutes>
<query-timeout>0</query-timeout>
<use-try-lock>0</use-try-lock>
<allocation-retry>0</allocation-retry>
<allocation-retry-wait-millis>0</allocation-retry-wait-millis>
</timeout>
<statement>
<share-prepared-statements>false</share-prepared-statements>
</statement>
</datasource>
9- 通过添加以下驱动程序来编辑 [JBOSS_HOME]\standalone\configuration\standalone.xml
(搜索 <datasources>
标签,您会在里面找到一个 <drivers>
标签,将以下驱动程序插入其中):
<driver name="sqlserver" module="com.microsoft">
<xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerXADataSource</xa-datasource-class>
</driver>
10- 将以下持久性单元添加到 persistence.xml
文件中:
<persistence-unit name="my-persistence-unit" transaction-type="JTA">
<description>My Persistence Unit</description>
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>java:jboss/MyDS</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="javax.persistence.schema-generation.database.action" value="drop-and-create" />
<property name="eclipselink.ddl-generation" value="drop-and-create-tables" />
<property name="eclipselink.target-database" value="org.eclipse.persistence.platform.database.PostgreSQLPlatform" />
</properties>
</persistence-unit>
11- 不要忘记根据您的偏好更改上述步骤“8”和“10”中的以下值:HostName
、DBName
、username
、{{1 }}、password
、java:jboss/MyDS
。
12- 您不必对 my-persistence-unit
文件进行任何更改,这是我的:
pom.xml
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。