Hibernate Tool: hbm2java or hbm2ddl
Hibernate 为了简化开发,给我们提供了四种工具,hbm2java,hbm2ddl,XDoclet,Middlegen.其中我觉得hbm2java(根据映射文件生成JAVA源文件),hbm2ddl(根据映射文件生成数据库文件,这两个工具非常实用.还有XDoclet(根据带有XDoclet标记的JAVA 源文件生成映射文件).Middlegen(根据数据库文件生成映射文件的工具也不错.不过我没怎么使用过.所以这里就不多说了.好了下面我们创建一个对象-关系映射文件,来演示一下这两种工具的使用方法.首先创建我们的XML映射文件.这里命名为Demo.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN" "hibernate-mapping-2.0.dtd" >
<hibernate-mapping>
<class name="hibernate.Demo" table="DEMOS">
<meta attribute="class-description">ToolDemo</meta>
<meta attribute="class-scope">public</meta>
<id name="id" type="long" column="ID">
<meta attribute="scope-set">protected</meta>
<generator class="native"/>
</id>
<property name="name" type="string">
<meta attribute="finder-method">findByName</meta>
<meta attribute="use-in-tostring">true</meta>
<column name="NAME" length="15" not-null="true" unique="true"/>
</property>
<property name="registeredTime" type="timestamp">
<meta attribute="field-description">When the Demo</meta>
<meta attribute="use-in-tostring">true</meta>
<column name="REGISTERED_TIME" index="IDX_REGISTERED_TIME" sql-type="timestamp"/>
</property>
<property name="age" type="int">
<meta attribute="field-description">How old is the Demo</meta>
<meta attribute="use-in-tostring">true</meta>
<column name="AGE" check="AGE>10" not-null="true"/>
</property>
<property name="sex" column="SEX" type="char"></property>
<property name="married" type="boolean" column="IS_MARRIED">
<meta attribute="field-description">Is the Demo married</meta>
<meta attribute="use-in-tostring">true</meta>
</property>
<property name="description" type="string">
<meta attribute="use-in-tostring">true</meta>
<column name="DESCRIPTION" sql-type="text"/>
</property>
</class>
</hibernate-mapping>
解释下上面的XML文件,这里主要说明是的<meta>元素,用于精确的控制JAVA源文件的内容.
<meta attribute="class-description">ToolDemo</meta>这里是源文件类的注释,用于生成javadoc
<meta attribute="class-scope">public</meta>这个是类的修饰符
<meta attribute="extends">hibernate.Tool</meta>这里声明这个类继承于哪个类,这里是继承hibernate包下的Tool类
<meta attribute="field-description">Is the Demo married</meta>这个也是注释,是属性的注释,用于生成javadoc
<meta attribute="use-in-tostring">true</meta>这个是指定在类的toString()方法返回的字符串是否包含这个属性.
<meta attribute="scope-set">protected</meta>指定类的属性的get或set方法的修饰符,包括static public final privete等等
下面列出<meta>元素的所有属性的用法
class-description指定类的注释,javadoc
field-description指定类的属性的注释,javadoc
interface如果是true表示生成的就接口,不是类,默认是false
implements指定类要实现的接口
extends指定类要继承的类
generated-class重新生成类名
scope-class指定类的修饰复,默认的是public
scope-set设置set方法的修饰复,默认public
scope-get设置get方法的修饰复,默认public
scope-field设定类的属性的修饰复,默认public
use-in-tostring如果是true表示在类的toString()方法中包含这个属性
gen-property如果是false表示不会在类中生成这个属性,默认是true
finder-method设定find方法名
下面列出<column>元素的所有属性和用法
name设置表字段的名字
length设置表字段的长度
not-null如果是true说明字段不可以为null,默认是false
unique如果是true,设置字段唯一性约束,默认是false
index给一个字段或者多个字段建立索引
unique-key为多个字段设置唯一约束
freign-key为外键约束命名
sql-type设定字段的SQL类型
check设定SQL检查约束
基础知识就以上这些,记住就OK了hbm2ddl位于Hibernate软件包中,而hbm2java工具位于Hibernate的扩展包中,真不理解Hibernate为什么这么搞,弄的好是麻烦,一起用的两个工具要分开放在两个包里哎,好了废话不说,在www.hibernate.org上可以下载到单独的Hibernate扩展包,hibernate-tools.jar放到我们的classpath下,然后创建build.xml用ant来运行这两个工具就OK了.非常方便.有时间在把ANT的详细使用方法发布到我的BLOG上.
分享到:
相关推荐
hibernate3 配置hbm2ddl和hbm2java所需jar,里面包含了所有的jar,如:hibernate3的相关jar、hibernate-tools.jar等。
详解hibernate.hbm2ddl.atuo 属性的配置
NULL 博文链接:https://skiof007.iteye.com/blog/1796910
hbm2ddl属性hbm2ddl属性hbm2ddl属性hbm2ddl属性hbm2ddl属性hbm2ddl属性
Hbm2java Hbm2java用于基于HBM文件生成源。
通过Hibernate Tool 来实现通过数据库表自动生成Java类和HBM文件
HBM2JAVA 小工具 支撑DB2,ORACLE,MYSQL 等数据库
Hynix:HBM内存技术深度研究.pdf
方正证券-半导体行业专题报告:HBM高带宽内存,新一代DRAM解决方案-230424
AMD:HBM3 RAS 技术之旅.pdf
半导体HBM专题报告:HBM需求增长强劲,新技术带来设备、材料端升级.pdf
在eclipse上通过hibernate工具,将数据库表生成Java类和xml配置文件 总共有2个版本,根据自己的需求使用版本3或者5: 1. hibernate-tools-3.4.0.CR2.jar是修改完成的jar包,直接替换原来的jar包, 重启eclipse即可...
提供生成tools:hbm2java,ddl2java,class2java,同时hbm2java只支持hibernate2.0
NULL 博文链接:https://ddcz.iteye.com/blog/570166
第4章 hbm2java和hbm2ddl工具 4.1 创建对象-关系映射文件 4.1.1 定制持久化类 4.1.2 定制数据库表 4.2 建立项目的目录结构 4.3 运行hbm2java工具 4.4 运行hbm2ddl工具 4.5 使用XML格式的配置文件 ...
利用hibernate自动生成hbm.xml文件和entity类,挺详细的文档呢,可以参考看看的喔喔
对hibernate.hbm.xml解释很详细~ 开发的时候很有用的哦~!
通过myeclipse自动生成Hibernate类文件和hbm.xml文件,链接数据库库自动生成
Hibernate关联关系hbm.xml中的相关属性many-to-one/one-to-many/many-to-many 中所有属性值以及其用法。
详细描述hibernate 下hbm文件的内容