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

我喜欢定义我的对象,然后使用hibernate从中生成我的ddl。但似乎hibernate唯一真正的工作流程是生成数据库模式然后对其进行反向工程。我想做一些毫无意义的事吗?     
已邀请:
是的,有一个属性
hibernate.hbm2ddl.auto
。文件说:   创建SessionFactory时,自动验证或将架构DDL导出到数据库。使用create-drop,当SessionFactory显式关闭时,将删除数据库模式。      例如验证|更新|创建|创建降 根据您配置
SessionFactory
的方式,有多种方法可以定义此属性。 hibernate的方法是简单地添加:
<property name="hibernate.hbm2ddl.auto">update</property>
    
  但似乎hibernate唯一真正的工作流程是生成数据库模式然后对其进行反向工程。 不,绝对不是。从历史上看,Hibernate支持几种方法: 自上而下:您从对象模型开始,然后使用XML文件或注释创建映射metatdata,然后使用Hibernate的
hbm2ddl
工具生成模式。 自下而上:您从现有数据库开始,使用
hbm2hbmxml
hbm2java
从数据库模式生成映射和Java类(或只是带注释的Java类)。 中间:你开始编写Hibernate XML映射,并分别使用
hbm2ddl
hbm2java
生成DDL和Java类。 在中间见面:您有一个现有的Java模型和一个现有的数据库。 Hibernate工具在这里帮不了多少,你很可能必须手工编写映射并对数据库或Java代码进行一些重构,或者使用某种桥接器。这是最糟糕的情况。 因此,正如我们所看到的,Hibernate支持多个工作流程并为它们提供工具。在您的情况下,您正在寻找名为
hbm2ddl
的工具(也称为
SchemaExport
,这是实现它的类的名称)。有几种方法可以使用它: 您可以通过编程方式运行
SchemaExport
。 通过将属性
hibernate.hbm2ddl.auto
设置为适当的值,可以在创建时间enable1ѭ启用模式的自动导出 您可以使用
<hbm2ddl>
Ant任务 参考 Hibernate核心参考指南 3.4。可选配置属性 Hibernate工具参考指南 4.4.1。数据库模式导出器(
<hbm2ddl>
)     

要回复问题请先登录注册