2010-04-05 5 views
3

안녕하세요, 나는 일련의 화면과 버튼 클릭을 통해) 기본 테이블에 대한 POJO 및 DAO 클래스를 생성하는 데 도움이되는 Hibernate Eclipse 플러그인을 알고 있습니다. 하지만 런타임 환경에서 이것을 모방하고 싶습니다. 즉, 정확히 동일한 단계를 프로그래밍 방식으로 수행 할 수 있기를 원합니다. 여기서 .cfg.xml 파일, reveng.xml 파일, 데이터베이스 URL을 제공 할 수 있어야합니다. , 대상 폴더, 명령 줄/매개 변수 (String [] args) 내에서 매개 변수를 통해.최대 절전 모드 POJO 클래스를 프로그래밍 방식으로 생성하는 방법은 무엇입니까?

명백히 최대 절전 모드 시나리오에서 사용할 수있는 도구는 없습니다. 스프링 프레임 워크 용 코드를 생성하도록 튜닝 된 튜토리얼이 있습니다 만, 지금 당장은 직접 사용하지 않는 것이 있습니다.

eclipse 플러그인을위한 hibernate-tools.jar의 소스 코드를 다운로드하려고 시도했지만, 지금 hibernate.org (새로운 디자인)의 src 코드 다운로드 링크가 어떤 이유로 비활성화되었습니다.

누구든지 전에 그런 것을 다루었습니까? 아니면 나에게이 일을 할 수있는 단서를 줄 수 있니?

내가 특정 JDBCReader 클래스의 객체를 시도, 근거는

답변

3

프로그래밍 방식으로 정확하게 .cfg.xml 파일, reveng.xml 파일, 데이터베이스 URL, 대상 폴더를 제공 할 수 있어야합니다. Hibernate Tools for Eclipse and Ant 각각 Eclipse 플러그인을 통해 개미 작업을 통해 모두 다시 사용할 수있는 동일한 기본 클래스를 공유 이클립스와 개미, 모두에서 사용할 수 있습니다

메인 (문자열 []에 args) 내에서 명령 줄/매개 변수 " 프로그래밍 방식으로 "(나는 당신이 무엇을하려하는지 이해할 수 없다).

내가 이클립스 플러그인에 대한 최대 절전 모드 - tools.jar와의 소스 코드를 다운로드했지만, 지금 hibernate.org에서의 src 코드 다운로드 링크 (새로운 디자인) 어떤 이유로 비활성화되었습니다.

최대 절전 모드 도구 원본을 JBoss subversion repositories에서 가져올 수 있습니다. 보다 정확하게는 다음 프로젝트를 체크 아웃하십시오 : http://anonsvn.jboss.org/repos/hibernate/trunk/HibernateExt/tools/. 찾고있는 수업은 org.hibernate.tool.hbm2x.*입니다.

+0

@Pascal Thivent 감사합니다.솔직하게, 나는 이것을하는 생각에 너무 만족하지 않는다. 그러나 나는이 일을하는 방법을 알아 내도록 지시를 받았고, 따라서이 노력을했습니다. :) – Vatsala

3

이 작업을 수행 할 수있는 ant task이 나타납니다 .... JDBCReader의 방법을 사용하여 모든 테이블을 읽은 다음 hbm2POJO 생성기 클래스를 사용하는 방법을 알아낼된다. org.hibernate.tool.ant.HibernateToolTask을 인스턴스화하고 해당 execute() 메서드를 호출하여이 개미 작업을 프로그래밍 방식으로 호출 할 수 있습니다. 따라서 컴파일 타임이나 런타임에이 작업을 수행 할 수 있습니다.

하지만 저는 이것을 반대합니다. 당신은 시나리오 사용에 대해 말하지 않았지만 이것에 대한 합리적인 시나리오가 많지 않다고 생각합니다.

+0

동의합니다. 이에 대한 합리적인 시나리오는 많지 않습니다. 현재 웹 응용 프로그램 프로젝트의 초기 설정을 처리 할 수있는 많은 옵션 중 하나로서 이것을 탐색하고 있습니다. 리드를 가져 주셔서 감사합니다. 나는 이것을 탐구 할 것이다. – Vatsala

0

pojos 생성을 자동화하려면 paven.xml 파일에 maven-antrun-plugin 플러그인을 추가하십시오.

<build> 
    ... 
    <plugins> 
     <plugin> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <executions> 
      <execution> 
       <phase>generate-sources</phase> 
       <configuration> 
       <tasks> 
        <taskdef name="hibernatetool" 
          classname="org.hibernate.tool.ant.HibernateToolTask" 
          classpathref="maven.dependency.classpath"/> 

        <hbm2java output="src/generated"> 
         <fileset dir="src/hibernate"> 
          <include name="**/*.hbm.xml"/> 
         </fileset> 
        </hbm2java> 
       </tasks> 
       </configuration> 
       <goals> 
       <goal>run</goal> 
       </goals> 
      </execution> 
      </executions> 
     </plugin> 
    </plugins> 
    </build> 

또는 최대 절전 모드 도구 작업을 사용하여 실용적인 pojo 클래스를 생성 할 수 있습니다. hbm에서 pojos를 생성하려면이 git project을 참조하십시오.