您的位置:首页 > 编程语言 > Java开发

Java eclipselink eclipselink.ddl-generation 的四种方式

2016-02-14 08:39 441 查看


persistence.xml文件配置:

[html] view
plain copy

<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence persistence_2_0.xsd" version="2.0">  

    <persistence-unit name="acme" transaction-type="RESOURCE_LOCAL">  

        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>          

        <properties>  

            <property name="javax.persistence.jdbc.driver" value="oracle.jdbc.OracleDriver"/>  

            <property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>  

            <property name="javax.persistence.jdbc.user" value="scott"/>  

            <property name="javax.persistence.jdbc.password" value="tiger"/>  

            <!--property name="eclipselink.logging.level" value="FINEST"/-->  

            <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>  

            <property name="eclipselink.create-ddl-jdbc-file-name" value="createDDL_ddlGeneration.jdbc"/>  

            <property name="eclipselink.drop-ddl-jdbc-file-name" value="dropDDL_ddlGeneration.jdbc"/>  

            <property name="eclipselink.ddl-generation.output-mode" value="both"/>  

        </properties>  

    </persistence-unit>  

</persistence>  

关于ddl-generation配置有四种方式:
1)create-tables:将执行create table为每个表,如果该表已经存在,eclipselink将遵循默认的行为为特定数据库和JDBC驱动程序组合,在大多数情况下,抛出一个异常,而不是 创建表,现有的表被使用。
2)create-or-extend-tables:创建表,如果表已经存在,则会添加任何缺少的列。
3)drop-and-create-tables:删除所有的表,然后创建所有的表,如果遇到任何问题,将遵循默认的行为为特定数据库和JDBC驱动程序组合,然后继续下一句语句。这通常是在变化频繁或测试过程中使用的。
4)none:默认值,不创建表,不创建schema。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: