SW 개발

JPA Buddy, JPA 엔티티, 리파지터리를 편리하게 생성 관리해주는 플러그인 소개

지단로보트 2022. 8. 26. 14:41

개요

  • JPA의 엔티티를 설계하고, 유지보수하고 DDL을 통한 데이터베이스의 변경점을 형상관리하는 것은 신중함이 요구되면서 굉장히 번거로운 작업들이다. IntelliJ IDEA의 무료/유료 플러그인인 JPA Buddy를 사용하면 이런 부분들을 편리하게 UI 기반으로 자동으로 관리할 수 있다. Java, Kotlin을 모두 지원한다.

사전 요구 지식

플러그인 설치

  • 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는 프록시를 통해 영속성이 관리되는 특성상 JavaLombok 라이브러리 및 Kotlindata 클래스의 사용이 자양된다. 이 때 가장 조심해야할 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] 클릭

참고 글