Websphere 8.5 mit JPA 2.1
IBM verwendet werden, um ein feature pack setzen, JPA 2.0 in 7 WAR. WAR 8.5.5 offenbar kommt mit JPA 2.0. Aber wir haben eine app, die wir gerade aktualisiert haben, um Hibernate 4, die Bedürfnisse der JPA 2.1. Ich kann nicht finden, ein link für eine 8,5 feature pack, um push-to-JPA 2.1.
Hat jemand anderes verwendet Hibernate 4 in 8,5? Wenn ja, wie? Ohne ein feature pack, bekommen wir NoSuchMethodError auf javax.Persistenz-Klassen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hibernate 4.3.7.Letzte verwendet werden können, die in Websphere Application Server 8.5.5 mit folgender Konfiguration:
Pack
hibernate-jpa-2.1.jar
in Ihrer Anwendung und legen Sie classloader Politik zu PARENT_LAST.Hibernate 4.3.7.Final ist nicht kompatibel mit der JPA-2.0-API zur Verfügung gestellt, der von Websphere 8.5.5
Legen Sie die JVM-Eigenschaft com.ibm.websphere.die Persistenz.ApplicationsExcludedFromJpaProcessing=* zu deaktivieren, JPA Websphere Initialisierung.
Ohne diese erhalten Sie folgende
SAXParseException
während des Startvorgangs als Websphere versucht zu analysieren persistence.xml nach JPA 2.0 schema.Gelten die work around für das Problem der PPV-4 in Ihrer Anwendung.
Dem Problem berichtet wurde über Hibernate die Java Persistence API (JPA 2-API anstelle von Webspheres JPA 1 API, während der Arbeit, um auch für Hibernate die Java Persistence API (JPA 2.1 API mit einigen kleinen änderungen:
Müssen Sie ersetzen
HibernatePersistence
mitHibernatePersistenceProvider
wie der ehemalige wurde als veraltet markiert.Ohne diese erhalten Sie folgende
ClassCastException
während des Startvorgangs, wie Hibernate die Java Persistence API (JPA 2.1-API lädt allePersistenceProvider
Klassen, einschließlich der Websphere man ausgesetzt im classpath.Hibernate 4.2.x implementiert die JPA-2.0-Spezifikation, die wir verwenden, die ohne Probleme in WebSphere 8.5.5. Wir Verpacken die Hibernate JARs in unsere Kriege und den provider-Attribut in das persistence.xml zu org.hibernate.ejb.HibernatePersistence.
Nur Hibernate 4.3.x verlangt JPA 2.1 und funktioniert nicht mit WebSphere 8.5.5.
sollten Sie kein problem haben, mit Ihren eigenen Persistenz-provider, der in WebSphere. Mein Vorschlag ist für Sie ein Paket JPA 2.1-Anbieter in Ihrer app und versuchen Sie, die Klasse loader zu übergeordneten Letzte. In diesem Fall würden Sie nicht die Standardeinstellung verwenden OpenJPA 2.0 zur Verfügung gestellt von WebSphere. Stattdessen werden Sie mit dem Anbieter Ihrer Wahl.
http://www-01.ibm.com/support/knowledgecenter/api/content/SSAW57_8.5.5/com.ibm.websphere.nd.multiplatform.doc/ae/tejb_jpa3rdparty.html
http://www-01.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.nd.multiplatform.doc/ae/trun_classload_server.html?cp=SSAW57_8.5.5%2F3-8-2-5-1&lang=en
Hoffe, das hilft.
Nur ein weiterer Artikel aus dem IBM support portal: http://www-01.ibm.com/support/docview.wss?uid=swg21672354