Persistenzprovider WSJPA konfigurieren
Der WebSphere Application Server-Persistenzprovider (WSJPA) ist der Standardprovider für Java Persistence API (JPA) 2.0.
Informationen zu diesem Vorgang
- Unterstützung für statisches SQL über das DB2-Feature pureQuery
- Unterstützung für Zugriffsarten
- Erweiterte Unterstützung für die Traceerstellung
- Generierung von Versions-IDs
- WebSphere-spezifische Befehle und Scripts
- Übersetzte Nachrichtendateien
- Überprüfen Sie speicherinterne Caches auf Viele-zu-eins-Beziehungen oder Eins-zu-eins-Beziehungen, die mit Verzögerung geladen werden. Wenn Sie die Eigenschaft "wsjpa.BrokerImpl" auf "true"
setzen, legen Sie damit fest, dass die JPA-Implementierung zur Ausführungszeit versucht,
Felder mit verzögerter Ladezeit zu laden, wenn die Fremdschlüsseldaten
für diese Felder verfügbar sind. Verwenden Sie die folgende Eigenschaft:
Diese Eigenschaft kann in vielen Szenarien nützlich sein. Nehmen Sie beispielsweise an, Sie haben eine Personenentität, Person(A), die eine Eins-zu-eins-Beziehung zu einer anderen Person, Person(B), hat, und Person(B) ist im L2-Datencache gespeichert. Wenn die JPA-Implementierung Person(A) findet und diese Eigenschaft gesetzt ist, wird der Fremdschlüssel, der von Person(A) geladen wird, für die Beziehung zwischen Person(A) und Person(B) verwendet.<property name="wsjpa.BrokerImpl" value="checkCacheForLazyFields=true"/>
- Der folgenden Tabelle können Sie die Unterschiede zwischen Standardwerten für die Konfigurationseigenschaften
des Persistenzproviders JPA for WebSphere Application Server
und Standardwerten für die Konfigurationseigenschaften des Persistenzproviders
Apache OpenJPA entnehmen:
Tabelle 1. Vergleich. Persistenzprovider JPA for WebSphere Application Server und Apache OpenJPA im Vergleich Eigenschaft Standardwert in Apache OpenJPA Standardwert des Persistenzproviders JPA for WebSphere Application Server openjpa.Compatibility StrictIdentityValues=false StrictIdentityValues=true openjpa.RuntimeUnenhancedClasses nicht unterstützt warn openjpa.DynamicEnhancementAgent true false open.jdbc.DriverDataSource auto simple

Error Message is:org.codehaus.jackson.map.JsonMappingException:
Can not construct instance of org.apache.openjpa.util.java$util$GregorianCalendar$proxy,
problem: no suitable creator method found at
[Source: org.apache.http.conn.EofSensorInputStream@d83fbd5; line: 1, column: 4094]
Die Verwendung des Standardpersistenzproviders JPA for WebSphere Application Server setzt nicht nur die zuvor beschriebenen Eigenschaftenüberschreibungen voraus, sondern auch die Verwendung der folgenden Klassen von JPA for WebSphere Application Server, die die entsprechenden Klassen in Apache OpenJPA überschreiben:
com.ibm.ws.persistence.jdbc.kernel.ConstraintUpdateManager;
com.ibm.ws.persistence.jdbc.kernel.WsJpaJDBCBrokerFactory;
com.ibm.ws.persistence.jdbc.sql.DB2Dictionary;
com.ibm.ws.persistence.jdbc.sql.OracleDictionary;
com.ibm.ws.persistence.jdbc.sql.SQLFactoryImpl;
com.ibm.ws.persistence.jdbc.sql.SQLServerDictionary;
com.ibm.ws.persistence.kernel.WsJpaBrokerImpl;
com.ibm.ws.persistence.kernel.WsJpaFinalizingBrokerImpl;
Wenn kein JPA-Provider im Element <provider> der Datei persistence.xml eines EJB-Moduls (Enterprise JavaBeans) konfiguriert ist, wird der JPA-Standardprovider verwendet, der momentan für diesen Server konfiguriert ist. Im Produktpaket ist der Persistenzprovider JPA for WebSphere Application Server als Standardprovider enthalten. Sie können diese Standardeinstellung jedoch überschreiben und über die Administrationskonsole einen anderen Standardprovider festlegen.
Sie können Ihren Standardpersistenzprovider auf zwei Arten definieren.
Wenn Sie einen Standardpersistenzprovider, einen JNDI-Namen für die JTA-Standarddatenquelle (Java Transaction API) und JNDI-Namenwerte für andere Standarddatenquellen haben, die vor WebSphere Application Server Version 7.0 mit JVM-Eigenschaften definiert wurden, überschreiben alle in der Administrationskonsole geänderten Werte die mit JVM-Eigenschaften definierten Werte.
Zu diesen Eigenschaften gehören com.ibm.websphere.jpa.default.provider, com.ibm.websphere.jpa.default.jta.datasource und com.ibm.websphere.jpa.default.nonjta.datasource. Die Unterstützung für diese Eigenschaften ist veraltet. Alle über diese Eigenschaften gesetzten Eigenschaften werden in dieser Anzeige als Standardwerte angezeigt. Diese über die Administrationskonsolanzeige definierten Werte überschreiben alle mithilfe von JVM-Eigenschaften definieren Werte.