Versionshinweise zu Sun GlassFish Enterprise Server 2.1

Java Persistence

TopLink erwartet, dass für das Feld/die Eigenschaft Collection ein Klon erstellt werden kann (Issue Tracker 556)

Beschreibung

Wenn die java.util.Arrays.asList()-API zum Konvertieren eines Object[]-Wertes in einen Collection-Wert verwendet wird, gibt das JDK eine Implementierung von java.util.ArrayList zurück, für die kein Klon erstellt werden kann. Dies führt zu folgender Ausnahme:


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

Dieses Problem wird beschrieben in https://glassfish.dev.java.net/issues/show_bug.cgi?id=556.

Lösung

Erstellen Sie eine weitere Sammlung unter Verwendung des Konstruktors; Beispiel:


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

GenerationType.IDENTITY und DataDirect-Treiber mit SyBase (Issue Tracker 2431)

Beschreibung

Der Versuch, eine Element einzufügen, das GenerationType.IDENTITY verwendet, schlägt fehl, wenn der DataDirect-Treiber mit SyBase verwendet wird. Der Versuch schlägt fehl, da der DataDirect-Treiber eine gespeicherte Prozedur für jede parametrisierte vorbereitete Anweisung erstellt.

Lösung

Setzen Sie in der Datei domain.xml die Eigenschaft PrepareMethod=direct auf die entsprechende Datenquelle.