Configuración de pureQuery para utilizar varias colecciones de paquetes de DB2
Configure una aplicación Java™ Persistence API (JPA) de pureQuery para utilizar varias colecciones de paquetes DB2.
Acerca de esta tarea
Es posible que existan varias copias de un esquema de base de datos. Esta situación puede darse en un esquema de base de datos particionado donde existe una base de datos para los datos de los empleados de una región y otra base de datos para los datos de empleados de otra región. En este caso, las dos bases de datos tienen el mismo esquema. Puede que haya dos bases de datos con dos catálogos de base de datos. O bien, puede haber sólo una base de datos, en cuyo caso, el calificador de alto nivel de los nombres de tabla (el nombre de esquema) debe ser distinto. Puesto que los esquemas son iguales, puede haber un sólo conjuntos de entidades de JPA que se utilicen para acceder a los dos conjuntos de datos. Hay varias maneras de configurar JPA para manejar estas situaciones.
- Cuando hay dos unidades de persistencia con distintos nombres de origen de datos que utilizan SQL estático, existen dos conjuntos de paquetes de DB2: un paquete de DB2 en cada base de datos. Puesto que existen dos unidades de persistencia, existen dos archivos nombre_unidad_persistencia.pdqxml para el entorno de ejecución de JPA.
- Si las tablas están en una sola base de datos, también se pueden utilizar las dos unidades de persistencia. En este caso, el origen de datos es el mismo en ambas unidades de persistencia. Sin embargo, la propiedad de nombre de esquema, wsjpa.jdbc.Schema, debe ser distinta. Existen dos conjuntos de paquetes de DB2. Cada paquete de DB2 debe tener un nombre de paquete distinto o un nombre de colección de paquete distinto. Tanto el mandato wsdb2gen como el mandato bind de DB2 tienen opciones para especificar los nombres de paquetes y colecciones de paquetes.
- Puede crear una sola unidad de persistencia, que eliminará la necesidad de mantener dos configuraciones de unidad de persistencia y ejecutar el mandato wsdbgen varias veces. Esta configuración exige un nombre de paquete común. Por lo tanto, los nombres de colecciones de paquetes deben ser distintos. Utilice el método createEntityManager(Map map), donde la correlación (map) contiene los valores de las propiedades wsjpa.jdbc.Schema y wsjpa.jdbc.CollectionId para especificar el nombre de la colección de paquetes y el nombre de esquema.