728x90
테이블과 컬럼에 대한 명세를 엔티티에 자세하게 적는것이 좋은지?
테이블과 컬럼에 대한 명세를 엔티티에 자세하게 적는것이 좋은지, 아니면 @Column 같은 애노테이션은 생략해도(생략 가능할 경우) 좋은지에 대한 개인적인 의견이 들어간 글입니다.
테이블과 컬럼에 대한 명세를 엔티티에 자세하게 적는것이 좋다고 생각
그 이유는 엔티티에 테이블 및 컬럼에 대한 명세를 자세하게 적으면, 데이터베이스의 테이블 명세를 직접 까보지 않아도(Ex. DBeaver 에 들어가서 테이블을 열어서 명세 확인) 엔티티단에서 바로 확인할 수 있다는 장점이 있기 때문입니다.
자세하게 적는다 : 엔티티를 보고 테이블 명세를 정확하게 파악할 수 있어야 하는 정도
MyBatis 를 사용해보신 분들은 알겠지만, SI 에서 VO, DTO 와 같은 명칭으로 God Class를 만들어서 사용하는데 해당 클래스만 보고 테이블이 어떻게 생겼는지 유추할 수 없습니다. 해당 클래스에서는 테이블 컬럼에 대한 필드 + 화면단에서 필요한 필드 등 여러가지가 섞여 있기 때문입니다.
따라서, 엔티티에 테이블 및 컬럼에 대한 명세가 자세하게 적혀있고 이러한 규칙들이 개발팀 내 컨벤션 규칙으로 자리잡고 있다면 엔티티만 확인하여 어떤식으로 DDL 이 구성되었는지 알 수 있습니다.
728x90
'JPA' 카테고리의 다른 글
프록시 객체와 영속성 컨텍스트 (0) | 2022.01.05 |
---|---|
다양한 연관관계 매핑과 설정에 따른 트레이드 오프 (0) | 2021.12.31 |
AllocationSize 를 통한 성능 최적화 (0) | 2021.12.28 |
기본키 매핑 전략에 따른 INSERT QUERY 실행 시점 (0) | 2021.12.28 |
EntityManager 를 쓰레드간 공유하면 안되는 이유 (0) | 2021.12.28 |