JHipster에서 엔티티 생성시 일반적으로 다음과 같은 요소들이 필요하다.
- A database table
- A Liquibase change set
- A JPA Entity
- A Spring Data JPA Repository
- A Spring MVC REST Controller, which has the basic CRUD operations
- An Angular router, a component and a service
- An HTML view
- Integration tests, to validate everything works as expected
- Performance tests, to see if everything works smoothly
엔티티 간 관계가 필요할 시 추가적으로
- A database foreign key
- Specific JavaScript and HTML code for managing this relationship
JHipster가 제공하는 entity sub-generator를 이용하면 위의 요소들을 자동생성 해준다.
- jhipster entity <entityName> --[options]
sub-generator에서 사용 가능한 옵션은 jhipster entity --help를 통해 확인해볼 수 있다.
- --table-name <table_name> : entity와 다른 이름으로 테이블을 생성하고 싶을 시. (기본 옵션은 엔티티와 동일한 이름으로 테이블을 생성한다.)
- --angular-suffix <suffix> : 모든 angular router에 접미사를 추가하고 싶을 시.
- --client-root-folder <folder-name> : client side 엔티티들의 루트 폴더 이름 설정.
- --regenerate : entity 재생성.
- --skip-server : client-side 코드만 생성.
- --skip-client : server-side 코드만 생성.
- --skip-db-changelog : Liquibase 에서 change log 생성을 생략.
- --db : server-side를 생략할 때 db
JHipster UML and JDL Studio를 통한 다중 엔티티 생성
- jhipster import-jdl your-jdl-file.jh.
- jhipster import-jdl ./my-jdl-file.jdl --json-only : .jhipster 폴더에 존재하는 json 파일만 엔티티 생성.
- jhipster import-jdl ./my-jdl-file.jdl --force : import-jdl 옵션은 기본적으로 변경된 엔티티만 재생성함. --force 옵션을 통해 모든 엔티티 재성성.
엔티티 생성시 정보
- Entity fields
- java나 사용하는 db의 예약어들은 field keyword로 사용할 수 없다. - Field types
- java타입을 기본적으로 사용하고, db종류에 따라 키워드가 변경된다. - Validation
- 각각의 필드에 유효성 룰을 추가할 수 있고, 이는 client-side, server-side에 각각 추가 된다.
(Angular, React, Vue validation / Java Domin object bean validation) - Entity relationships
- 엔티티 간 관계 설정 - Generating a separate service class for your business logic
- 서비스 계층 생성 여부 - Data Transfer Objects (DTOs)
- 서비스 계층 생성 시 DTO 사용 여부를 선택할 수 있다. - Filtering
- JPA를 통한 필터링 옵션을 제공한다. - Pagination
- 페이지네이션은 Link header를 이용한다.
- No pagination(back-end가 페이징 처리되지 않음), pagination(Bootstrap pagination component), Infinite scroll(directive 사용) 3가지 옵션을 제공한다.
엔티티 업데이트
- sub-generator에 이미 생성 된 엔티티의 이름을 재입력할 경우 엔티티 업데이트가 가능하다. (.jhipster 디렉토리에 .json파일 참조)
- 재생성 / 필드, 관계 추가 / 필드, 관계 제거 등의 옵션 선택이 가능한다.
'공식메뉴얼 > jhipster' 카테고리의 다른 글
JHipster를 통한 어플리케이션 개발 시 이용법(Using JHipster in development) (0) | 2020.05.09 |
---|---|
컨트롤러, 서비스 생성하기 ( Creating a Spring controller, service) (0) | 2020.05.09 |
Command-line options (0) | 2020.05.09 |
어플리케이션 만들기 ( Creating an application) (0) | 2020.05.09 |
도커 이용법 (Docker and Docker Compose) (0) | 2020.05.09 |