首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Hibernate学习札记(二)hbm2java和hbm2ddl

2012-10-08 
Hibernate学习笔记(二)hbm2java和hbm2ddlhbm2java:根据映射文件自动生成Java源文件hbm2ddl:根据映射文件自

Hibernate学习笔记(二)hbm2java和hbm2ddl
hbm2java:根据映射文件自动生成Java源文件
hbm2ddl:根据映射文件自动生成数据库Schema
XDoclet:根据带有XDoclet标记的Java源文件生成映射文件。
Middlegen:根据数据库Schema自动生成,下载网址为:http://sourceforge.net/projects/middlegen

<meta>:用来精粒度控制Java源代码内容
使用ant codegen会按XML生成JAVA类
class-description指定描述类的JavaDoc,位于类名的上面,写在类中不起作用
field-description指定描述类的属性的JavaDoc,位于get方法上面,
写在类定义的位置(class-description),声称在类名下放
Interface如果为true,表示生成接口,而非类。默认为false
Implements指定类所实现的接口
Extends指定类继承的父类名
generated-class重新指定生成的包名.类名 例:<meta attribute="generated-class">mypack.User</meta>
scope-class指定类的修饰符,默认为public
scope-set指定set方法的修饰符,默认为public
scope-get指定set方法的修饰符,默认为public
scope-field指定类的属性方法的修饰符,默认为public
use-in-tostring如果为true,表示在toString()方法中包含此属性
gen-property如果为false,不会在Java类中生成此属性,默认为true

作用范围:如果在<hibernate-mapping>下面就使用者全部被作用,使用<meta attribute="*" inherit="false">
    则只作用于下面第一个。另外一种方法是放到<class>元素里面

<column>:数据库表的定义
使用ant工具运行ant run,会依次执行build.xml文件中的prepare,codegen,compile,schema和run target
name设定字段的名字
length设定字段的长度
not-null如果为true,指明该字段不允许为null。默认为false
unique如果为true,指明该字段具有唯一性约束。默认为false
index给一个或多个字段建立索引
unique-key为多个字段设定唯一约束
foreign-key为外键约束命名,在<many-to-one>,<one-to-one>,<key>和<many-to-many>元素中包含该属性。
如果没有设定此属性,hbm2ddl工具会自动为外间约束随机生成唯一的名字。在双向关联中,
inverse属性为true的一段不能设置foreign-key属性
sql-type设定字段的SQL类型
check设定SQL检查约束

热点排行