ORM을 통한 Entity 자동 생성 시 Table 및 Column Comment 추가 가이드

개요

본 문서는 Java 백엔드 개발에서 ORM을 사용하여 Entity 자동 생성 시 Table 및 Column에 Comment를 추가하는 방법에 대한 가이드입니다.

문제

  • 개발자는 주석을 통해 컬럼의 의미를 파악할 수 있지만, Data 담당자는 소스 코드를 직접 확인하거나 개발자에게 문의해야 하는 번거로움이 발생합니다.
  • 이를 해결하기 위해 주석과 Column comment를 동시에 활용하고자 하는 경우, 프레임워크 의존성, 효율성 저하, 휴먼 에러 등의 문제가 발생할 수 있습니다.

해결책

  • JPA 3.2에서 도입된 comment 속성을 사용하여 Table 및 Column에 Comment를 추가합니다.
  • Hibernate의 @Comment 어노테이션과 JPA 3.2의 comment 속성을 함께 활용하여 향후 버전 업그레이드 시 자동 리팩토링을 가능하게 합니다.

핵심 내용

  1. JPA 3.2의 comment 속성
  • JPA 3.2부터 Table 및 Column 어노테이션에 comment 속성이 추가되었습니다.
  • 이 속성을 사용하여 Table 및 Column에 대한 설명을 직접 지정할 수 있습니다.
  1. Hibernate @Comment 어노테이션
  • Hibernate에서 제공하는 @Comment 어노테이션을 사용하여 Column에 대한 설명을 추가할 수 있습니다.
  • JPA 3.2를 지원하지 않는 환경에서 유용합니다.
  1. 향후 버전 업그레이드를 위한 자동 리팩토링
  • OpenRewrite와 같은 도구를 사용하여 Hibernate @Comment 어노테이션을 JPA 3.2의 comment 속성으로 자동 변환할 수 있습니다.
  • 향후 Spring Data JPA 및 Hibernate의 JPA 3.2 버전 지원 시 코드를 손쉽게 업그레이드할 수 있습니다.

코드 예시

JPA 3.1 + Hibernate

@Column
@Comment(value = "잠금 여부")
private boolean accountNonLocked = true;

JPA 3.2

@Column(comment = "잠금 여부")
private boolean accountNonLocked = true;

참고 자료

Comment