Инструменты командной строки JPA в DDL - PullRequest
5 голосов
/ 11 ноября 2008

Есть инструменты Hibernate для отображения файлов на генерацию ddl; ddl для отображения файлов и т. д., но я не могу найти никаких инструментов командной строки для простого создания DDL из аннотированных классов JPA.

Кто-нибудь знает простой способ сделать это? (Без использования обходных путей Ant или Maven)

Ответы [ 2 ]

7 голосов
/ 31 января 2009

Я не уверен, считается ли это обходным решением, потому что вы уже упоминали об этом в своем вопросе. Вы можете использовать Hibernate Tools для генерации DDL из аннотированных классов JPA. Вам просто нужны инструменты гибернации и их зависимости от пути к классам, и все должно быть примерно так:

<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>

С другой стороны, если вы используете Eclipse с Webtools и правильно настроили параметры проекта, вы можете просто щелкнуть правой кнопкой мыши и выбрать Создать DDL из контекстного меню. Подробнее об этом можно узнать на веб-сайте Eclipse Dali .

.
4 голосов
/ 31 октября 2009

Вот объяснение того, как использовать класс SchemaExport hibernate, чтобы делать то, что вы хотите. Похож на метод anttask, упомянутый ранее, но не все используют ant. Вы можете выполнить этот пример кода прямо из командной строки.

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

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...