Java 是否有一个简单的工作流来从具有hibernate映射的类生成数据库架构?

Java 是否有一个简单的工作流来从具有hibernate映射的类生成数据库架构?,java,hibernate,orm,top-down,Java,Hibernate,Orm,Top Down,我想定义我的对象,然后使用hibernate从中生成我的ddl。但hibernate的唯一真正工作流似乎是生成一个datbase模式,然后对其进行反向工程。我想做一些毫无意义的事情吗?是的,有一个属性hibernate.hbm2ddl.auto。报告说: 创建SessionFactory时自动验证架构DDL或将其导出到数据库。使用createdrop,当SessionFactory显式关闭时,数据库模式将被删除 e、 g.验证|更新|创建|创建删除 定义此属性有多种方法,具体取决于您如何配置Se

我想定义我的对象,然后使用hibernate从中生成我的ddl。但hibernate的唯一真正工作流似乎是生成一个datbase模式,然后对其进行反向工程。我想做一些毫无意义的事情吗?

是的,有一个属性
hibernate.hbm2ddl.auto
。报告说:

创建SessionFactory时自动验证架构DDL或将其导出到数据库。使用createdrop,当SessionFactory显式关闭时,数据库模式将被删除

e、 g.验证|更新|创建|创建删除

定义此属性有多种方法,具体取决于您如何配置
SessionFactory
。hibernate方法是简单地添加:

<property name="hibernate.hbm2ddl.auto">update</property>
更新
但hibernate的唯一真正工作流似乎是生成数据库模式,然后对其进行反向工程

不,绝对不是。历史上,Hibernate支持几种方法:

  • 自上而下:从对象模型开始,然后使用XML文件或注释创建映射元数据,然后使用Hibernate的
    hbm2ddl
    工具生成模式

  • 自下而上:从现有数据库开始,使用
    hbm2hbmxml
    hbm2java
    从数据库模式生成映射和Java类(或仅带注释的Java类)

  • Middle out:您开始编写HibernateXML映射,并分别使用
    hbm2ddl
    hbm2java
    生成DDL和Java类

  • 中间会合:您有一个现有的Java模型和一个现有的数据库。Hibernate工具在这里帮不了什么忙,您很可能必须手工编写映射,并对数据库或Java代码进行重构,或者使用某种桥。这是最糟糕的情况

因此,正如我们所看到的,Hibernate支持多个工作流,并为它们提供了工具。在您的例子中,您正在寻找名为
hbm2ddl
(也称为
SchemaExport
,它是实现它的类的名称)的工具。有几种方法可以使用它:

  • 您可以通过编程方式运行
    SchemaExport
  • 通过将属性
    hibernate.hbm2ddl.auto
    设置为适当的值,可以在创建时启用模式的自动导出
  • 您可以使用
    Ant任务
工具书类
  • Hibernate核心参考指南
  • Hibernate工具参考指南

我有点希望我能勾选两个答案!谢谢你的解释。