JPA на JBoss As 6.X или 7 - PullRequest
       2

JPA на JBoss As 6.X или 7

1 голос
/ 20 ноября 2011

Я пытаюсь найти хорошую справочную информацию о том, как сделать проект JPA (с EJB 3.x).

Мне было очень трудно найти, как настроить модуль персистентности в соответствии с jBoss.(в GlassFish это просто кусок пирога).

Кто-нибудь из вас знает хорошую ссылку

Ответы [ 3 ]

2 голосов
/ 09 июля 2012

Я только что портировал свое приложение, которое я разработал на NetBeans, из Glassfish 3 в JBoss 6. Мне пришлось отключить JTA , чтобы стойкость работала, но, поскольку в данный момент мне это не нужно, что-то лучшечем ничего.

Я использую управляемую контейнером безопасность и задокументировал мою конфигурацию в этом сообщении .

Я настроил свой источник данных JBoss 6, поместив mysql-ds.xml в $JBOSS_HOME\server\default\deploy.Вот содержание:

<datasources>
  <local-tx-datasource>
    <jndi-name>jdbc/thor_ds</jndi-name>
    <connection-url>jdbc:mysql://localhost:3306/thor</connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>mjolnir</user-name>
    <password>mjolnir</password>
    <exception-sorter-class-name>
        org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter
    </exception-sorter-class-name>
    <metadata>
       <type-mapping>mySQL</type-mapping>
    </metadata>
  </local-tx-datasource>
</datasources>

В отличие от Glassfish, в JBoss 6 мне приходилось явно объявлять каждый из моих классов персистентности.Вот мой постоянный XML:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
     xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
     http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">

  <persistence-unit name="AvengersPU" transaction-type="RESOURCE_LOCAL">
      <!--<persistence-unit name="AvengersPU" transaction-type="JTA">-->
    <jta-data-source>java:/jdbc/thor_ds</jta-data-source>
    <non-jta-data-source>java:/jdbc/thor_ds</non-jta-data-source>
    <class>avenger.Grouptable</class>
    <class>avenger.MyUser</class>
    <exclude-unlisted-classes>true</exclude-unlisted-classes>
    <properties>
        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
    </properties>
  </persistence-unit>
</persistence>
0 голосов
/ 20 ноября 2011

После настройки файла persistence.xml вы должны быть готовы к работе, поскольку JPA является стандартом Java EE и не зависит от сервера приложений.

0 голосов
/ 20 ноября 2011

Нет никакой разницы между серверами приложений с точки зрения JPA.Просто сделайте то же самое, что вы сделали для Glasfish.

Единственное отличие заключается в настройке источника данных - но для этого достаточно результатов Google.

...