Notes de version de Sun GlassFish Enterprise Server 2.1

TopLink suppose que la propriété/le champ myCollection est clonable (Issue Tracker 556)

Description

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.

Solution

Créez une autre collection à l'aide de son constructeur ; par exemple :


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