DDL скрипты с JPA? - PullRequest
       1

DDL скрипты с JPA?

2 голосов
/ 01 апреля 2011

До сих пор я тестировал свои сущности JPA (с Hibernate 3.6.x в качестве реализации) со схемой, автоматически генерируемой с этой конфигурацией hibernate.hbm2ddl.auto , установленной в create -drop

<bean id="entityManagerFactory"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="persistenceUnitName" value="id.co.sofcograha.erp3" />
    <property name="jpaVendorAdapter">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
            <property name="showSql" value="true" />
            <property name="generateDdl" value="false" />
            <property name="databasePlatform" value="org.hibernate.dialect.PostgreSQLDialect" />
        </bean>
    </property>
    <property name="jpaProperties">
        <props>
            <prop key="hibernate.hbm2ddl.auto">create-drop</prop>
        </props>
    </property>
</bean>

Теперь я хотел бы пропустить автоматически генерируемую схему и хотел бы сам управлять схемой.

Но мне интересно, могу ли я каким-то образом получить схему, автоматически сгенерированную hibernate, в виде простого текстового файла сценария?

Это облегчит мне задачу, так как мне не нужно создавать DDL, начиная с нуля, а используя hibernate-Генерируемый-один, и я могу просто изменить некоторые вещи, такие как длина varchar, тип столбца и т. Д. Из сгенерированный файл?

Итак, вкратце, я имею в виду:

  1. создание объектов JPA
  2. создать сценарий DDL схемы с использованием hibernate
  3. изменить скрипт DDL в соответствии с моими потребностями
  4. запустить модифицированный скрипт DDL
  5. проверить мою сущность и приложение с новыми таблицами DDL

И мой подход - хорошая идея, или вы могли бы предложить лучшие подходы?

Спасибо!

1 Ответ

1 голос
/ 01 апреля 2011

Некоторые базы данных имеют встроенные инструменты для обратного проектирования базы данных, например, pg_dump для PostgreSQL или db2look для DB2.И есть Liquibase , который может помочь вам анализировать и поддерживать схемы по мере их развития.

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