Jam*_*hon 17
尝试将以下内容添加到persistence.xml中
对于Hibernate:
创造:
<property name="hibernate.hbm2ddl.auto" value="update"/>
Run Code Online (Sandbox Code Playgroud)
删除并创建:
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
Run Code Online (Sandbox Code Playgroud)
对于Toplink:
创造:
<property name="toplink.ddl-generation" value="create-tables"/>
Run Code Online (Sandbox Code Playgroud)
删除并创建:
<property name="toplink.ddl-generation" value="drop-and-create-tables"/>
Run Code Online (Sandbox Code Playgroud)
对于EclipseLink:
创造:
<property name="eclipselink.ddl-generation" value="create-tables"/>
Run Code Online (Sandbox Code Playgroud)
删除并创建:
<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
Run Code Online (Sandbox Code Playgroud)
我不认为使用JPA有一种通用的方法,你必须直接使用底层的JPA实现来实现这一点.
对于Hibernate,有几种可能性:
hbm2ddl
自动调用的Maven和Ant插件.对于EclipseLink(以前的Oracle TopLink,JPA 2.0 RI),请参阅使用EclipseLink JPA Extensions进行模式生成.原则上它与Hibernate非常相似,虽然初看起来我没有看到任何可以用作创建数据库脚本的独立实用程序.
其他JPA实现(BEA/Oracle Kodo,Apache OpenJPA)可能有自己的特定方法来实现这一点.
当我使用Hibernate时,我只需将其添加到我的配置文件中:
<property name="hbm2ddl.auto">update</property>
Run Code Online (Sandbox Code Playgroud)
照顾好一切.我不确定JPA的等价物是什么,但它受Hibernate的影响很大,如果你找不到类似的东西,我会感到惊讶.
无需工具.我通常只运行一个简单的JUnit测试,并为我创建数据库.
通过maven插件:
<plugin>
<!-- run "mvn hibernate3:hbm2ddl" to generate a schema -->
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>3.0</version>
<configuration>
<hibernatetool>
<classpath>
<path location="${project.build.directory}/classes" />
<path location="${project.basedir}/src/main/resources/META-INF/" />
</classpath>
<jpaconfiguration persistenceunit="galleryPersistenceUnit" />
<hbm2ddl create="true" export="false" destdir="${project.basedir}/target" drop="true" outputfilename="mysql.sql" format="true" console="true"/>
</hibernatetool>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17964 次 |
最近记录: |