Je suis nouveau à JPA. J'utilise maven, eclipselink 2.0 et jpa 2.0. J'ai créé les entités en utilisant une connexion à une base de données. Voici mon persistence.xmlErreur d'authentification avec JPA 2.0 et EclipseLink 2.0
<?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="certifications" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>jdbc/com/ni/ds_edata_soa_nontx</jta-data-source>
<class>com.ni.apps.engineering.certification.entities.NicdsCliCertificationStg</class>
<class>com.ni.apps.engineering.certification.entities.NicdsCliCertificationStgPK</class>
<class>com.ni.apps.engineering.certification.entities.NicdsCliUpMapping</class>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="javax.persistence.jdbc.password" value="soa_user"/>
<property name="javax.persistence.jdbc.user" value="soa_user"/>
<property name="javax.persistence.jdbc.driver" value="oracle.jdbc.OracleDriver"/>
<property name="eclipselink.logging.level.sql" value="FINE"/>
</properties>
</persistence-unit>
</persistence>
Ceci est l'erreur que j'obtiens en essayant de lancer l'application.
detailMessage « Exception [EclipseLink-4002] (Eclipse persistance Services - 2.3.1.v20111018-r10243): org.eclipse.persistence.exceptions.DatabaseException \ r \ nInternal Exception: java.sql.SQLException: java.sql .SQLException: Utilisateur: NI, n'a pas pu être authentifié. \ R \ nError Code: 0 "(id = 114)
Comme vous pouvez le voir, il n'y a rien appelé" NI "dans ma persistance. La seule chose qui s'appelle NI est le schéma à partir duquel je tire les tables pour créer les entités. La source de données JTA est une copie exacte de ce qui se trouve dans mon weblogic.
Des idées?
--EDIT-- Voilà comment je reçois le EntityManager
private EntityManagerFactory emf;
protected EntityManager getEntityManager(){
if(emf == null){
emf = Persistence.createEntityManagerFactory("certifications");
}
return emf.createEntityManager(); //This is where it fails
}
Essayé, mais n'a pas fonctionné. J'ai ajouté un peu plus d'informations. Merci! – Nacho321
Pouvez-vous vérifier à partir de la console WebLogic que la connexion DataSource fonctionne correctement? Il se peut que vous utilisiez l'utilisateur 'NI' dans la configuration de WebLogic DataSource et que son nom d'utilisateur ou son mot de passe soit incorrectement défini dans WebLogic. –
Non, la source de données weblogic a un combo utilisateur/mot de passe complètement différent. C'est pareil que ceux que j'avais sur ma persistance.xml – Nacho321