반응형
IntelliJ IDEA 10 DB 모델에서 엔티티 (POJO) 생성
IntelliJ IDEA 10을 사용하여 데이터베이스 모델에서 엔티티 (POJO)를 생성하려면 어떻게해야합니까? IntelliJ에서 "데이터 소스"를 생성하지만 POJO를 생성 할 수있는 방법을 모르겠습니다.
업데이트 :
IntelliJ 16에서는이 기능이 현재 구현되었습니다. 이를 수행하는 단계는 다음과 같습니다.
1. 데이터베이스 보기 컨텍스트 메뉴
2. 스크립팅 된 확장
3. POJO 생성
자세한 내용은 여기에서 읽을 수 있습니다.
기능 요청 : 일반 JDBC 개발자를위한 "데이터베이스 스키마에서 클래스 생성"허용
먼저 intelliJ에게 Hibernate를 사용하고 있음을 알릴 필요가 있습니다 (테이블의 orm pojo가 필요한 경우라면 그렇습니다)
- "프로젝트 구조"로 이동 ( alt+ ctrl+ shift+ s)
- "프로젝트 설정"에서 "모듈"을 선택하십시오.
- +모듈에서 Hibernate 패싯을 누르고 추가하십시오.
이제 최대 절전 모드 구성 패싯을 설정하여 pojos를 추출 할 수 있습니다.
- 오른쪽 하단 수평 패널에 "지속성"이라는 탭이 표시됩니다 (지속성 탭을 찾을 수없는 경우보기> 도구 창> 지속성을 선택하여 표시 할 수 있습니다).
- 여기에서 모듈과 같은 이름의 최대 절전 모드 아이콘을 마우스 오른쪽 버튼으로 클릭 할 수 있습니다.
- "지속성 매핑 생성"- "데이터베이스 스키마 별"로 이동합니다.
- 이제 길을 찾을 수있을 것 같아요 ...
- 일반 설정에서 사용할 데이터 소스를 선택하면 이제 데이터 소스 개체의 모든 테이블을 볼 수 있습니다.
- 이제 많은 작업을 수행하고, + 기호로 관계를 추가하고, pojo 속성의 이름과 유형을 변경하는 등의 작업을 수행 할 수 있습니다. 참고 : 오류가 발생하고 "OK"가 비활성화되면 intelliJ가 찾은 데이터 유형 때문일 수 있습니다. pojo가 유효하지 않습니다. 필요한 것으로 변경하기 만하면 바로 사용할 수 있습니다!
기본 Scripted Extensions Generate POJOs.groovy
는 밑줄 (매우 일반적 임)이있는 테이블을 다룰 때 그다지 좋지 않습니다.
그래서 약간의 수정을합니다.
주요 코드
def calcFields(DasObject table) {
DasUtil.getColumns(table).reduce([]) { fields, col ->
def spec = Case.LOWER.apply(col.dataType.specification)
def typeStr = typeMapping.find { p, t -> p.matcher(spec).find() }.value
fields += [[
name : javaName(col.name, false),
type : typeStr,
annos: """
/**
* $col.comment
*/"""]]
}
}
static String javaName(String str, boolean capitalize) {
def s = CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, str);
capitalize || s.length() == 1 ? s : Case.LOWER.apply(s[0]) + s[1..-1]
}
여기에서 전체 요점을 찾을 수 있습니다 https://gist.github.com/aristotll/ad799a7462e8b705b26103944cca24a6
참고 URL : https://stackoverflow.com/questions/5259276/intellij-idea-10-generate-entity-pojo-from-db-model
반응형
'program tip' 카테고리의 다른 글
A와 이미지를로드 (0) | 2020.11.11 |
---|---|
역 피보나치 알고리즘? (0) | 2020.11.11 |
PostgreSQL 함수 매개 변수로서의 테이블 이름 (0) | 2020.11.11 |
iOS7의 UIActivityViewController에서 표시 될 때 메일 작성기에서 보내기 및 취소 단추의 텍스트 색상을 설정할 수 없습니다. (0) | 2020.11.11 |
Promise에서 여러 값을 올바르게 반환하는 방법은 무엇입니까? (0) | 2020.11.11 |