Sun Java System Application Server 9.1 Update 1-9.1 Update 2 릴리스 노트

TopLink에서 Collection 필드/등록 정보가 복제 가능할 것이라고 예상함(이슈 트랙커 556)

설명

java.util.Arrays.asList() API를 사용하여 Object[]Collection으로 변환하는 경우 JDK에서 복제할 수 없는 java.util.ArrayList 구현을 반환합니다. 그러면 다음 예외가 발생합니다.


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

이 문제는 https://glassfish.dev.java.net/issues/show_bug.cgi?id=556에서 추적됩니다.

해결 방법

구성자를 사용하여 다른 모음을 만듭니다. 예를 들면 다음과 같습니다.


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