Sun GlassFish Enterprise Server v2.1.1 릴리스 노트

Java Persistence

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))

GenerationType.IDENTITY 및 SyBase에서의 DataDirect 드라이버(이슈 트랙커 2431)

설명

DataDirect 드라이버가 SyBase에서 사용될 경우 GenerationType.IDENTITY를 사용하는 엔티티를 삽입하려는 시도가 실패합니다. DataDirect 드라이버가 모든 매개 변수화된 준비된 명령문에 대해 저장 프로시저를 생성하기 때문에 시도가 실패합니다.

해결 방법

domain.xml 파일에서 해당 데이터 소스에 대해 PrepareMethod=direct 등록 정보를 설정합니다.