Configuración del proveedor de persistencia WSJPA
El proveedor de persistencia WebSphere Application Server (WSJPA) es el proveedor predeterminados para Java Persistence API (JPA) 2.0.
Acerca de esta tarea
- Soporte SQL estático mediante la función pureQuery de DB2
- Soporte de intento de acceso
- Soporte de rastreo ampliado
- Generación de ID de versiones
- Mandatos y scripts específicos del producto WebSphere
- Archivos de mensajes traducidos
- Compruebe si en las caché en memoria existen relaciones de muchos con uno o de uno con uno cargadas de forma diferida. El establecimiento de la propiedad wsjpa.BrokerImpl en true especifica que la implementación JPA intentará cargar los campos diferidos de memoria en tiempo de ejecución si los datos de clave foránea de los campos diferidos están disponibles. Utilice la propiedad siguiente:
Esta propiedad puede resultar útil en muchos escenarios. Por ejemplo, suponga que tiene una entidad de persona, Persona (A), que tiene una relación uno a uno con otra persona, Persona(B), y que la Persona(B) se almacena en la memoria caché de datos L2. Si esta propiedad se establece, cuando la implementación JPA encuentre Persona(A), la clave foránea que se ha cargado de Persona(A) se utilizará para rellenar la relación de Persona(A) a Persona(B).<property name="wsjpa.BrokerImpl" value="checkCacheForLazyFields=true"/>
- La tabla siguiente muestra cómo los valores predeterminados de las propiedades de configuración del proveedor de persistencia
JPA para WebSphere Application Server
son distintas de las del proveedor Apache OpenJPA:
Tabla 1. Comparación. Comparación del proveedor de persistenca JPA para WebSphere Application Server y del proveedor Apache OpenJPA Propiedad Valor predeterminado Apache OpenJPA Valor predeterminado del proveedor de persistencia JPA para WebSphere Application Server openjpa.Compatibility StrictIdentityValues=false StrictIdentityValues=true openjpa.RuntimeUnenhancedClasses no soportadas aviso openjpa.DynamicEnhancementAgent true false open.jdbc.DriverDataSource auto simple

El mensaje de error el: org.codehaus.jackson.map.JsonMappingException:
No se puede construir la instancia de org.apache.openjpa.util.java$util$GregorianCalendar$proxy, problema: no se ha encontrado ningún método de creador en [Origen: org.apache.http.conn.EofSensorInputStream@d83fbd5; línea: 1, columna: 4094]
Además de la alteración temporal de la propiedad, el uso del proveedor de persistencia JPA para WebSphere Application Server predeterminado también implica el uso de las clases de JPA para WebSphere Application Server siguientes que alteran temporalmente las clases correspondientes en 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;
Si no se ha configurado ningún proveedor JPA en el elemento <provider> del archivo persistence.xml en un módulo Enterprise JavaBeans (EJB), se utiliza el proveedor JPA predeterminado que está configurado actualmente para este servidor. El producto está empaquetado con el proveedor de persistencia JPA para WebSphere Application Server definido como el proveedor predeterminado. Sin embargo, es posible alterar este valor predeterminado y especificar un valor predeterminado diferente mediante la consola administrativa.
Puede establecer el proveedor de persistencia predeterminado de dos maneras distintas.
Si tiene un proveedor de persistencia predeterminado, el nombre JNDI (Java Naming and Directory Interface) Java del origen de datos JTA (Java Transaction API) y los valores predeterminados de nombre JNDI de origen de datos distinto a JTA que se establecieron en el producto antes de WebSphere Application Server Versión 7.0, a través de las propiedades de la máquina virtual Java (JVM), cualquier cambio en estos valores mediante la consola administrativa altera temporalmente los valores que se han establecido con las propiedades de la JVM.
Estas propiedades incluyen com.ibm.websphere.jpa.default.provider, com.ibm.websphere.jpa.default.jta.datasource y com.ibm.websphere.jpa.default.nonjta.datasource. Estas propiedades ya no reciben soporte. Cualquier valor que se haya definido a través de estas propiedades se visualiza como valor predeterminado en este panel. Estos valores que se han definido mediante el panel de la consola administrativa modifican los valores definidos a través de las propiedades de JVM.