对来自 JPA 实体的 DDL 进行逆向工程
我正在玩一些JPA的东西,改变映射以查看它们应该如何等。这是基本的实验。但是,我找不到一个工具可以简单地读取我的实体,然后为我生成表架构。我试图在JBoss工具中找到这样的东西,但nada。Eclipse集成将是一个巨大的优势,但我将采用命令行工具或蚂蚁任务。
有什么想法吗?
我正在玩一些JPA的东西,改变映射以查看它们应该如何等。这是基本的实验。但是,我找不到一个工具可以简单地读取我的实体,然后为我生成表架构。我试图在JBoss工具中找到这样的东西,但nada。Eclipse集成将是一个巨大的优势,但我将采用命令行工具或蚂蚁任务。
有什么想法吗?
尝试将以下内容添加到持久性中.xml
对于休眠:
要创建:
<property name="hibernate.hbm2ddl.auto" value="update"/>
要删除并创建:
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
对于顶链接:
要创建:
<property name="toplink.ddl-generation" value="create-tables"/>
要删除并创建:
<property name="toplink.ddl-generation" value="drop-and-create-tables"/>
对于 EclipseLink:
要创建:
<property name="eclipselink.ddl-generation" value="create-tables"/>
要删除并创建:
<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
我不认为有一种通用的方法来做到这一点,你必须直接使用底层的JPA实现来实现这一点。
对于休眠,有几种可能性:
hbm2ddl
对于 EclipseLink(以前称为 Oracle TopLink,JPA 2.0 RI),请参阅使用 EclipseLink JPA Extensions 进行 Schema Generation。原则上,它与Hibernate非常相似,尽管乍一看我没有看到任何可以用作创建DB脚本的独立实用程序的东西。
其他JPA实现(BEA / Oracle Kodo,Apache OpenJPA)可能有自己实现此目的的特定方法。