Гибернация JPA в инструменты командной строки DDL

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
6
0
19 889
2

Ответы 2

Я не уверен, считается ли это обходным путем, потому что вы уже упоминали об этом в своем вопросе. Вы можете использовать Инструменты гибернации для генерации 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 в контекстном меню. Подробнее об этом на Сайт Затмения Дали.

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

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

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

Другие вопросы по теме