openJPA sur Java SE
J'essaie de développer JPA projet sur ibm RAD. Et je peux l'exécuter sur Webpshere avec succès,
mais le problème est que mon ordinateur est assez vieux. Afin de déployer dans Java EE conteneur n'est pas
raisonnable.Et je veux l'exécuter sur la JSE.Mais il donne l'erreur suivante:
94 test INFO [main] openjpa.Runtime - Starting OpenJPA 1.2.1-SNAPSHOT
235 test INFO [main] openjpa.jdbc.JDBC - Using dictionary class "com.ibm.ws.persistence.jdbc.sql.DB2Dictionary".
1797 test WARN [main] openjpa.Enhance - This configuration disallows runtime optimization, but the following listed types were not enhanced at build time or at class load time with a javaagent: "[class Customer]".
Exception in thread "main" <openjpa-1.2.1-SNAPSHOT-r422266:686069 fatal user error> org.apache.openjpa.persistence.ArgumentException: The type "class Customer" has not been enhanced.
at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1650)
at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1624)
at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:717)
at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:616)
at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:541)
at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:308)
at org.apache.openjpa.kernel.BrokerImpl.newObjectId(BrokerImpl.java:1114)
at org.apache.openjpa.kernel.DelegatingBroker.newObjectId(DelegatingBroker.java:268)
at org.apache.openjpa.persistence.EntityManagerImpl.find(EntityManagerImpl.java:451)
at deneme.main(deneme.java:21)
Ce que je suis absent?
Par le mon persistent.xml est:
**<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.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_1_0.xsd">
<persistence-unit name="test" transaction-type="RESOURCE_LOCAL">
<provider>
com.ibm.websphere.persistence.PersistenceProviderImpl
</provider>
<class>Customer</class>
<properties>
<property name="openjpa.ConnectionDriverName" value="com.ibm.db2.jcc.DB2Driver"/>
<property name="openjpa.ConnectionURL" value="jdbc:db2://localhost:50000/PARUD:retrieveMessagesFromServerOnGetMessage=true;"/>
<property name="openjpa.ConnectionUserName" value="db2admin"/>
<property name="openjpa.ConnectionPassword" value="xxxxx"/>
<property name="openjpa.jdbc.Schema" value="POOL"/>
</properties>
</persistence-unit>
</persistence>**
OriginalL'auteur qasanov | 2010-01-24
Vous devez vous connecter pour publier un commentaire.
Juste un pointeur:
Vous avez besoin pour améliorer vos classes par exemple, au moment de l'exécution par -javaagent:yourlib.jar
ou même lors de la compilation. Vous pourriez en apprendre plus sur ce sujet ici:
"La deuxième et la méthode recommandée pour obtenir l'exécution d'amélioration est de fournir un javaagent lors du lancement de la JVM qui OpenJPA va exécuter."
le problème était l'espace "Program Files" ici. J'ai déplacé le fichier sous "C:\com.ibm.ws.jpa.jar" et tout semble ok. merci d'avance 🙂
OriginalL'auteur Karussell
Je suis juste allé à travers l'exercice de l'obtention de OpenJPA 2.1.0 pour s'exécuter sur Tomcat 7.0. J'étais tout simplement incapable d'obtenir le temps d'exécution de l'amélioration de travailler sous Tomcat j'ai donc renoncé et décidé de l'utiliser au moment de la construction d'amélioration. Je suis en train d'élaborer mon code sous Eclipse, j'ai donc suivi les instructions ici:
http://openjpa.apache.org/enhancement-with-eclipse.html
Toutefois, de noter que les instructions données sur cette page sont génériques des projets java. Si vous travaillez avec des Dynamiques de Projets Web, assurez-vous de spécifier le répertoire de construction argument correctement. J'ai utilisé -Dbuild.dir=build/classes qui est l'emplacement par défaut pour le code compilé.
Un plus ennuyeux caprice vous avez à vivre avec. Vous devez appeler manuellement le générateur de rapports à l'aide de la "Project > Build Project" dans le menu. Lorsque l'amplificateur fonctionne, il modifie l', auparavant, construit des classes. Par conséquent, vous devez appuyez sur la touche F5 ou d'Actualisation pour le projet avant de le publier sur Tomcat.
OriginalL'auteur Rangachari Anand