Java eclipselink eclipselink.ddl-generation 的四种方式
2016-02-14 08:39
441 查看
persistence.xml文件配置:
[html] viewplain 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。
相关文章推荐
- 【Java】深夜代码祭(1)
- 通过生产者消费者模式例子讲解Java基类方法wait、notify、notifyAll
- eclipse java web 更换项目外部调用名称
- Eclipse使用maven创建struct2项目及遇到的各种坑
- Java线程学习经典例子-读写者演示
- 经典同步模型-生产者消费者java代码实现
- 关于Struts2中的s标签和JSTL中的c标签的对比
- Java面向对象程序设计----核心概念
- java多线程中的volatile线程安全?
- java 原型设计模式
- Java的四种引用
- Java模板引擎 FreeMarker
- JavaWeb项目中的绝对路径与相对路径问题
- Dubbo源代码实现一:切入Spring
- 数据库恢复和备份、jdbc(java)
- 《JAVA语言程序设计》(一)
- eclipse主题设置
- 深入理解Java
- 详解Java中native关键字
- 使用spring web flow遇到的问题-1