import javax.persistence.*;

@Entity
@Table(name = "Account_Table")
public class Account { 
    @Id
    private Long id;

    @Column(name = "account_number") 
    private String accountNumber;
}

@Entity

클래스를 엔티티로 설정한다. 즉, DB의 테이블로 간주한다. 해당 클래스 내에 선언된 객체들은 테이블에서 필드를 의미한다.

테이블 이름은 클래스명이 디폴트값이다.

@Table

클래스 명과 다른 이름으로 테이블 이름을 지정할 수 있다.

 

@Id

테이블의 primary key 컬럼으로 지정한다.

 

@Column

객체명과 다른 이름으로 필드명을 지정할 수 있다.

괄호 안에 다음과 같은 것들을 명시할 수 있다.

속성 설명 기본값
name 필드와 매핑할 컬럼의 이름 설정 객체의 필드 이름
nullable 등록,변경가능여부 TRUE
nullable null 값의 허용 여부를 설정 false로 설정하면 DDL생성 시에 not null 제약조건이 붙는다.  
unique @Table의 uniqueConstraints와 같지만 한 컬럼에 간단히 유니크 제 약조건을 걸 때 사용한다.  
columnDefinition 데이터베이스 컬럼 정보를 직접 줄 수 있다. 예) @Colnum(columnDefinition = "varchar(5) default '10' not null")  
precision / scale BigDecimal / BigInteger 타입에서 사용한다. double, float 타입에는 적용되지 않는다. 아주 큰 숫자나 정 밀한 소수를 다루어야 할 때만 사용한다.

precision : 소수점을 포함한 전체 자 릿수

scale : 소수의 자릿수.
 
length String 타입의 문자 길이 제약조건 설정 255

 

복사했습니다!