Comment s'adapter persistence.xml fichier pour vous connecter à JPA de JDBC/base de données MySQL en environnement Java EE (Tomcat + JSF)

Je suis en train d'élaborer un projet web Dynamique (Java EE) en utilisant JSF, PrimeFaces, JPA, et en cours d'exécution sur Tomcat 7.
Le projet de développement est basé sur http://www.simtay.com/simple-crud-web-application-with-jsf-2-1-primefaces-3-5-maven-and-jpa/

Maintenant, je suis en train d'élaborer la JPA partie du logiciel. Dans le passé, quand j'ai développé quelques petites choses (comme des exercices en Java SE, j'ai utilisé la base de données suivants propriétés:

jdbc.drivers=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=password

Mais maintenant, je suis en train d'apprendre JPA sur Java EE.

Dans le livre "Pro JPA 2 la maîtrise de la Java du commerce de la Persistance API", Chapitre 3, paragraphe "empaquetage", vous pouvez lire:

Dans l'environnement Java EE, de nombreuses propriétés requises dans le
la persistance.fichier xml pour Java SE peut être omis. Dans la Liste 3-32, vous
voir la persistence.xml fichier de la Liste 2-11 converti pour
le déploiement d'une application Java EE. Au lieu de JDBC
propriétés pour la création d'une connexion, nous déclarons maintenant que l'entité
le gestionnaire doit utiliser le nom de source de données “jdbc/EmployeeDS”. Si les données
la source a été défini pour être disponibles dans l'application de l'espace de noms
au lieu de la composante locale de contexte de nommage on pourrait à la place
utiliser le nom de source de données de “java:app/jdbc/EmployeeDS”. L'
transaction - type de l'attribut a également été supprimé pour permettre la
unité de persistance à défaut de JTA. L'application serveur
trouver automatiquement les classes d'entité, de sorte que même la liste des classes a
été supprimé. Cet exemple représente l'idéal minimum Java EE
la configuration. Parce que la logique d'entreprise qui utilise cette persistance
l'unité est mise en œuvre dans un bean session sans état, l'persistence.xml
fichier serait généralement situé dans le répertoire META-INF de l'
correspondant JAR EJB.

Liste 3-32. La définition d'une Unité de Persistance en Java EE

<persistence>
    <persistence-unit name="EmployeeService">
        <jta-data-source>jdbc/EmployeeDS</jta-data-source>
    </persistence-unit>
</persistence>

Liste 2-11. Éléments dans le persistence.xml Fichier

<persistence>
    <persistence-unit name="EmployeeService" transaction-type="RESOURCE_LOCAL">
        <class>examples.model.Employee</class>
        <properties>
            <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
            <property name="javax.persistence.jdbc.url" value="jdbc:derby://localhost:1527 EmpServDB;create=true"/>
            <property name="javax.persistence.jdbc.user" value="APP"/>
            <property name="javax.persistence.jdbc.password" value="APP"/>
        </properties>
    </persistence-unit>
</persistence>

Ma question est: comment puis-je adapter un générique persistence.xml fichier en environnement Java EE pour se connecter à une base de données MySQL/JDBC de la base de données en utilisant les propriétés, je suis entré au sommet de la poste?

Tomcat comme étant un barebones JSP/Servlet container peut à peine être considéré comme un "environnement Java EE". Il ne supporte pas gérée par le conteneur des transactions (JTA), et c'est ce que vous en fin de compte. Réel Java EE des conteneurs tels que Glassfish, JBoss as et TomEE soutien JTA (et JPA, EJB, JSF, etc, etc) hors de la boîte. Sur la "plaine" de Tomcat, vous devez installer JTA séparément (comme vous l'avez installé JSF et JPA séparément). Googler "installer jta tomcat" devrait donner des notes suffisantes. Ou tout simplement migrer à part entière, Java EE récipient de sorte que vous n'avez pas besoin d'installer lâche Java EE artefacts à chaque fois.
Je n'aime pas TomEE, j'ai eu beaucoup de problèmes avec elle. Le moment où j'ai donné de l'utiliser, il n'a ni commencé. J'aime de plus pour importer des bibliothèques dans Tomcat. Après que voir stackoverflow.com/questions/2552612/... j'ai commencé à apprendre comment utiliser jbossts-plein de laisser mon projet de l'utilisation de JTA correctement. Si vous mettez votre précédent commentaire, comme une réponse, je vous donnerai le vert de la marque V

OriginalL'auteur Germano Massullo | 2013-06-27