SW 개발
JPA Buddy, JPA 엔티티, 리파지터리를 편리하게 생성 관리해주는 플러그인 소개
지단로보트
2022. 8. 26. 14:41
개요
- JPA의 엔티티를 설계하고, 유지보수하고 DDL을 통한 데이터베이스의 변경점을 형상관리하는 것은 신중함이 요구되면서 굉장히 번거로운 작업들이다. IntelliJ IDEA의 무료/유료 플러그인인
JPA Buddy
를 사용하면 이런 부분들을 편리하게 UI 기반으로 자동으로 관리할 수 있다. Java, Kotlin을 모두 지원한다.
사전 요구 지식
- JPA Buddy를 잘 사용하려면 JPA, Spring Data JPA에 대한 이해가 선행되어야 한다. Spring Boot Persistence Best Practices 전자책 정독을 추천한다.
플러그인 설치
- IntelliJ IDEA 실행 후 아래 순서로 플러그인을 설치한다.
File
→ Settings
→ Plugins
→ Marketplace
→ [JPA Buddy] → [Install] 클릭
→ [OK] 클릭
물리 테이블로부터 엔티티 자동 생성
- Reverse Engineering은 실제 존재하는 물리 테이블 또는 뷰로부터 엔티티를 새롭게 자동 생성하거나, 기존 엔티티를 최신화할 수 있는 기능이다. 이 기능을 통해 개발자는 많은 시간을 절약할 수 있다. 유료 버전에서만 제공된다.
JPA Structure
→ [+] 클릭
→ [JPA Entities from DB] 클릭
# Entities from DB
→ DB connection: (유효한 데이터베이스 커넥션 선택)
→ Source root: (엔티티를 생성할 프로젝트 모듈 선택)
→ Entity package: (엔티티를 생성할 패키지 선택)
→ Language: [Kotlin] 선택
→ (좌측 Tables 목록에서 엔티티로 전환할 물리 테이블에 체크)
→ [OK] 클릭
equals(), hashCode(), toString() 자동 생성
- JPA는 프록시를 통해 영속성이 관리되는 특성상 Java의 Lombok 라이브러리 및 Kotlin의 data 클래스의 사용이 자양된다. 이 때 가장 조심해야할 equals(), hashCode(), toString()을 안전하게 자동으로 생성할 수 있다.
# equals(), hashCode() 자동 생성
JPA Palette
→ [Utilities] 클릭
→ Equals() and HashCode() 더블 클릭
→ ToString() 더블 클릭
엔티티로부터 DTO 자동 생성
JPA Structure
→ [+] 클릭
→ [DTO] 클릭
# Entities from DB
→ Source root: (DTO를 생성할 프로젝트 모듈 선택)
→ Package: (DTO를 생성할 패키지 선택)
→ Entity class: (DTO를 생성할 원본 엔티티 클래스를 선택)
→ DTO class: (생성할 DTO의 이름을 입력)
→ (DTO로 생성할 엔티티의 필드를 체크)
→ Language: [Kotlin] 선택
→ [OK] 클릭