Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 使用JPA的DDL脚本?_Hibernate_Jpa_Jpa 2.0 - Fatal编程技术网

Hibernate 使用JPA的DDL脚本?

Hibernate 使用JPA的DDL脚本?,hibernate,jpa,jpa-2.0,Hibernate,Jpa,Jpa 2.0,到目前为止,我一直在测试我的JPA实体(以Hibernate 3.6.x为实现),模式自动生成,配置为Hibernate.hbm2ddl.auto设置为create drop: <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="persistenceUnitName"

到目前为止,我一直在测试我的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生成的DDL,我可以从生成的文件中修改一些内容,如varchar长度、列类型等

简言之,我的想法是:

  • 创建JPA实体
  • 使用hibernate生成模式DDL脚本
  • 修改DDL脚本以满足我的需要
  • 运行修改后的DDL脚本
  • 使用新的DDL表测试我的实体和应用程序
  • 我的方法是个好主意,还是你可以建议更好的方法


    谢谢大家!

    有些数据库有本机工具来对数据库进行反向工程,例如,PostgreSQL的pg_dump或DB2的db2look。还有,它可以帮助您在模式发展过程中分析和维护模式。

    是否可以使用liquibase从我的jpa实体生成初始ddl脚本?有一个Maven插件可以做到这一点,请看,但我自己还没有使用过。哦,谢谢……让我检查一下!如果让它在一个空数据库上运行会怎么样?我试过了,但liquibase不认为我的新jpa实体是一个区别,请检查这个