2012-12-07 2 views
1

테이블의 첫 번째 열에 int 값을 자동으로 생성하도록 테이블/엔티티를 설정할 예정입니다.이 값은 MySQL의 Eclipse에서 기본 키가 될 가능성이 큽니다.JPA @GenerateValue가 MySQL에서 값을 생성하지 않습니다.

@Entity 
@Table(name="Table") 
public class Table implements Serializable { 
private static final long serialVersionUID = 1L; 

@Id 
@GeneratedValue(strategy=GenerationType.IDENTITY) 
@Column(unique=true, nullable=false) 
private int id; 

그것은 데이터베이스 벌금에 연결하고 실제로 비 ID 부분에 값을 지속 있어요 : 나는 그것을 제대로 설정 한 것으로 보입니다. 문제는 ID에 대해 아무 것도 생성하지 않는다는 것입니다. mysql은 id 컬럼에 놓이는 디폴트 값 '0'을 가진다. 오류가 발생하지 않고 '0'으로 채워집니다.

답변

1

IDENTITY의 생성 유형을 사용하면 JPA에게 데이터베이스가 ID 생성을 수행합니다. 따라서 AUTO_INCREMENT를 사용하도록 열을 설정해야합니다.

+0

그게 전부입니다. 나는 주석을 통해 나의 의도를 지적한 이래로 JPA가 이것을 어떻게 처리 할 것인가라고 생각했다. 그러나 mySQL AUT_INCREMENT는 정상적으로 작동합니다. – Randnum

관련 문제