Notas de la version de Sun GlassFish Enterprise Server v 2.1.1

Persistencia Java

TopLink espera que mi campo o propiedad Collection sea clonable (Issue Tracker 556)

Descripción

Si se utiliza el API java.util.Arrays.asList() para convertir un Object[] en Collection, JDK devuelve una implementación de java.util.ArrayList que no es clonable. Esto produce la siguiente excepción:


The method invocation of the method [protected native java.lang.Object 
java.lang.Object.clone() throws java.lang.CloneNotSupportedException] on the object 
[[pkg.A id = xxx]], of class [class java.util.Arrays$ArrayList], triggered an 
exception. Internal Exception: java.lang.reflect.InvocationTargetException Target 
Invocation Exception: java.lang.CloneNotSupportedException: 
java.util.Arrays$ArrayList

El problema está registrado en https://glassfish.dev.java.net/issues/show_bug.cgi?id=556.

Solución

Crear otra colección utilizando su constructor; por ejemplo:


myCollection = new ArrayList(java.util.Arrays.asList(a))

GenerationType.IDENTITY y DataDirect Driver con SyBase (Issue Tracker 2431)

Descripción

Si intenta insertar una entidad que utiliza GenerationType.IDENTITY se produce un error si se usa el controlador DataDirect con SyBase. El intento falla porque el controlador DataDirect crea un procedimiento almacenado para cada declaración preparada con parámetros.

Solución

En el archivo domain.xml establezca la propiedad PrepareMethod=direct en la fuente de datos correspondiente.