현재 데이터베이스 최적화를 조금만하고 있으며 JPA를 통해 테이블의 열 길이를 설정하려고합니다. 지금까지 다음과 같이 JPA를 사용하여 길이 문자열 (VARCHAR)를 설정 아무런 문제가 없습니다 :JPA 주석이있는 Long 값의 열 길이 설정
@Column(unique=true, nullable=false, length=99)
public String getEmail() {
return email;
}
을 그러나, 나는 타입 롱 (BIGINT)의 인 컬럼에 대해 동일한 작업을 수행 할 때, 그렇지 않습니다 작업. 예를 들어 내가 작성하는 경우 :
@Id
@Column(length=7)
@GeneratedValue(strategy = GenerationType.AUTO)
public Long getId() {
return id;
}
열 크기는 여전히 20의 기본 우리는 JPA에서 이러한 길이를 설정할 수 있습니까 아니면 내가 잘못 짚었 오전으로 설정되어 있습니까?
감사합니다. Gearoid.
흠, @Column (정밀도 = 7)을 설정하면 데이터베이스 클라이언트는 길이 (또는 정밀도) 20을 허용한다고 계속 알려줍니다. – Ger
"그것이 당신에게"알려줍니다. 이 값은 JPA 구현에서 테이블을 만들 때 * 사용합니다. 따라서 DDL 문을 사용하여 DDL 문을 생성해야합니다 (JDBC 드라이버가 허용한다고 가정). JPA 구현은 (로그에서) 사용중인 DDL을 알려줍니다. – DataNucleus