[java] Hibernate의 특별한 애너테이션들

@Entity

@Entity 애너테이션은 특정 클래스가 데이터베이스의 테이블과 매핑됨을 지정합니다. 해당 클래스의 객체는 데이터베이스 레코드와 일치하며, 이 애너테이션이 지정된 클래스는 데이터베이스에 저장될 수 있습니다.

@Table

@Table 애너테이션은 클래스와 데이터베이스 테이블 간의 매핑을 제어합니다. 특정 데이터베이스 스키마나 테이블명을 사용자가 원하는 대로 지정할 수 있습니다.

@Id

@Id 애너테이션은 엔티티의 주키(primary key) 필드를 지정합니다. 데이터베이스 레코드를 고유하게 식별하는 데 사용됩니다.

@GeneratedValue

@GeneratedValue 애너테이션은 엔티티의 주키가 자동으로 생성되는 방식을 지정합니다. 주키 생성 전략을 선택하여 데이터베이스가 자동으로 새로운 값을 생성하도록 할 수 있습니다.

@Column

@Column 애너테이션은 엔티티의 필드와 데이터베이스 테이블의 열 간의 매핑을 지정합니다. 엔티티의 필드명과 데이터베이스 열명이 동일한 경우 생략할 수 있습니다.

Hibernate의 이러한 애너테이션들을 적절히 활용하면, 데이터베이스와 자바 객체 간의 매핑을 보다 유연하게 조절할 수 있습니다. 각 애너테이션을 사용함으로써 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.