2012-03-26 2 views
0

안녕하세요 저는 기대하지 않았습니다. 내 숫자 primery 키에 대한 JPA SequenceGenerator를 사용하는 Im은 기본적으로 작동합니다. 야,하지만 자바 반바지에 무슨 일이. 내 엔티티가 짧은 ID를 가질 때 시퀀스는 값을 생성하지 않고 대신 allways 0을 할당하여 중복 키를 발생시킵니다. :에스.PostgreSequence와 함께 Java Short에 어떤 현상이 있습니까?

나만이나 아니면 짧은 개체를 시퀀스 개체에 매핑 할 수 없습니까? 그것은 데이터베이스에 sequece를 만들지 만 nexval을 호출하는 것처럼 보이지 않습니다.

메신저 사용 : eclipselink 2.3, openjdk7, 우분투 oneiric amd64, eclipse. 여기

일부 코드 :

이 작동 :

@Id @GeneratedValue(strategy= GenerationType.SEQUENCE,generator="CategoriaDeportiva_SEQ") 
@SequenceGenerator(name = "CategoriaDeportiva_SEQ", allocationSize=1, initialValue=1, sequenceName="CategoriaDeportiva_SEQ") 
private int id; 

이 나던 : 홀수

@Id @GeneratedValue(strategy= GenerationType.SEQUENCE,generator="CategoriaDeportiva_SEQ") 
@SequenceGenerator(name = "CategoriaDeportiva_SEQ", allocationSize=1, initialValue=1, sequenceName="CategoriaDeportiva_SEQ") 
private short id; 

답변

0

. 로그에 오류가 발생했는지, 최상의 결과로 EclipseLink 로깅을 설정 한 경우 SQL이 기록됩니까?

이는 Postgres 또는 EclipseLink에 문제가 있습니다. @Id 매핑에 @Convert 및 @TypeConverter (dataType = Integer.class)를 사용하여 대신 int로 바인드 할 수있는 임시 해결 방법을 위해 Postgres의 단락을 바인딩 할 때 문제가 될 수 있습니다.

또 다른 데이터베이스에서 시도하여 Postgres 문제인지 확인할 수도 있습니다.

EclipseLink 문제인 경우 버그를 기록하십시오.

일반적으로 ID를 짧은 ID로 사용하는 것은 그리 좋은 생각이 아니므로 ID가 부족할 수 있습니다. int를 사용하는 것조차 권장하지 않습니다.

관련 문제