Si l'API java.util.Arrays.asList() est utilisée pour convertir un Object[] en une Collection, JDK retourne une implémentation de java.util.ArrayList non clonable. L'exception suivante est alors générée :
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 |
Ce problème fait l'objet d'un suivi sur https://glassfish.dev.java.net/issues/show_bug.cgi?id=556.
Créez une autre collection à l'aide de son constructeur ; par exemple :
myCollection = new ArrayList(java.util.Arrays.asList(a)) |
La tentative d'insertion d'une entité utilisant GenerationType.IDENTITY échoue lorsque le pilote DataDirect est utilisé avec SyBase. Cette tentative échoue car le pilote DataDirect crée une procédure stockée pour chaque instruction préparée et paramétrée.
Dans le fichier domain.xml, définissez la propriété PrepareMethod=direct sur la source de données correspondante.