Two persistence providers are included in the product: JPA for WebSphere® Application Server persistence provider and Apache OpenJPA persistence provider. The Java Persistence API (JPA) for WebSphere Application Server persistence provider is the default provider for the product. You can use one of these two providers, or a third-party persistence provider, as the default provider.
These properties include, com.ibm.websphere.jpa.default.provider, com.ibm.websphere.jpa.default.jta.datasource, and com.ibm.websphere.jpa.default.nonjta.datasource. Support for these properties has been deprecated. Any values that were set through these properties are displayed as default values on this panel. These values that are set through the administrative console panel overrides any values set through the JVM properties.
<property name="wsjpa.BrokerImpl" value="checkCacheForLazyFields=true"/>
This
property can be useful in many scenarios. For example, assume you
have a person entity, Person(A), that has a one-to-one relationship
to another person, Person(B), and Person(B) is stored in the L2 data
cache. If this property is set, when the JPA implementation finds
Person(A), the foreign key that is loaded from Person(A) will be used
to populate the relationship from Person(A) to Person(B).Property | Apache OpenJPA default value | JPA for WebSphere Application Server persistence provider default value |
---|---|---|
openjpa.Compatibility | StrictIdentityValues=false | StrictIdentityValues=true |
openjpa.RuntimeUnenhancedClasses | unsupported | 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]
In addition to the above property overrides, the use of the default JPA for WebSphere Application Server persistence provider also implies the use of the following JPA for WebSphere Application Server classes which override the corresponding classes in Apache OpenJPA:
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;
If no JPA provider is configured in the <provider> element of the persistence.xml file within an Enterprise JavaBeans (EJB) module, the default JPA provider that is currently configured for this server is used. The product is packaged with the JPA for WebSphere Application Server persistence provider defined as the default provider. However, it is possible to override this default and specify a different default through the administrative console.
You can set your default persistence provider in one of two ways.