2008-11-11 41 views
5

Có các công cụ Hibernate để ánh xạ các tệp thành thế hệ ddl; ddl để ánh xạ các tệp và vân vân, nhưng tôi không thể tìm thấy bất kỳ công cụ dòng lệnh nào để tạo DDL đơn giản từ các lớp được chú thích JPA.Hibernate JPA đến DDL công cụ dòng lệnh

Có ai biết cách dễ dàng để thực hiện việc này không? (Không sử dụng cách giải quyết Ant hoặc Maven)

Trả lời

7

Tôi không chắc chắn, cho dù điều này được coi là giải pháp thay thế, bởi vì bạn đã đề cập đến nó trong câu hỏi của bạn. Bạn có thể sử dụng Hibernate Tools để tạo DDL từ các lớp được chú thích JPA. Bạn chỉ cần ngủ đông công cụ và phụ thuộc của nó trên classpath và cần sử dụng tốt với một cái gì đó như sau:

<target name="schemaexport" description="Export schema to DDL file" 
    depends="compile-jpa"> <!-- compile model classes before running hibernatetool --> 

    <!-- task definition; project.class.path contains all necessary libs --> 
    <taskdef name="hibernatetool" classname="org.hibernate.tool.ant.HibernateToolTask" 
     classpathref="project.class.path" /> 

    <hibernatetool destdir="export/db"> <!-- check that directory exists --> 
    <jpaconfiguration persistenceunit="myPersistenceUnitName" /> 
    <classpath> 
     <!-- 
      compiled model classes and other configuration files don't forget 
      to put the parent directory of META-INF/persistence.xml here 
     --> 
    </classpath> 
    <hbm2ddl outputfilename="schemaexport.sql" format="true" 
     export="false" drop="true" /> 
    </hibernatetool> 
</target> 

Mặt khác, nếu bạn đang sử dụng Eclipse với webtools và đã cấu hình các thiết lập dự án một cách chính xác, bạn có thể chỉ cần nhấp chuột phải và chọn Tạo DDL từ trình đơn ngữ cảnh. Thông tin thêm về điều đó trên Eclipse Dali website.

4

Đây là giải thích về cách sử dụng lớp SchemaExport hibernate để làm những gì bạn muốn. Tương tự như phương pháp anttask đã đề cập trước đây, nhưng không phải ai cũng sử dụng kiến. Bạn có thể thực thi mã ví dụ này ngay từ dòng lệnh.

http://jandrewthompson.blogspot.com/2009/10/how-to-generate-ddl-scripts-from.html

Hy vọng điều này sẽ hữu ích.

Các vấn đề liên quan