Hibernate *.hbm.xml对象关系映射文件详解
在hibernate中表与pojo对象是一一对应的,通过hbm文件将数据库表与实体关联起来,本文将对hbm文件进行介绍。
pojo对象:提供了公共的无参构造方法 ,通过反射产生对象。
属性用private修饰,并且生成对应的get/set方法。
类不能用final来修饰,hibernate会产生代理类(cglib)。
类需要指明标识(id)。
1.package
package :声明pojo类所在的包,如果不写那么在class中需要指明pojo类所在的包
catalog ,Schema:数据库信息,一个数据库系统包含多个Catalog,每个Catalog包含多个Schema,每个Schema包含多个数据库对象(表、视图、字段等)。
<hibernate-mapping package="cn.siggy.pojo">
2.class(映射一个pojo类)
name :表示pojo类名。
table 数据库表名,如果不写默认是类名
3.id(表示实体类的表示(OID),对应数据库表中的主键)
name 表示实体类中的表示属性名 。
column 表示对应数据库表中的列名,如果不写则数据库表中和属性名一致。
length 表示数据库表中对应数据类型的长度,如果不写有默认长度。
type 表示类型,如果不写hibernate可以找到对应pojo类的属性的类型
4.generator(主键生成策略)
increment 用于long, short,或者int类型生成唯一标识.
只有在没有其他进程往同一张表中插入数据时才能使用。
在集群下不要使用(mysql, ms sql)
identity 对DB2,Mysql, MS sql Server, Sybase和
HypersonicSql的内置标识字段提供支持。返回的标识
是long,short获知int类型的。
sequence 在支持序列的数据库中使用oracle
<generator class="sequence">数据库序列的名称</generator>
uuid UUID被编码为一个32位16进制数字的字符串
native 根据底层数据库的能力选择identity,sequence或者hilo中的一个
assigned 自己指定主
5.property(实体类的属性)
name:指明pojo类属性名称(区分大小写)
column 表示对应数据库表中的列名,如果不写则数据库表中和属性名一致。
length 表示数据库表中对应数据类型的长度,如果不写有默认长度。
type 表示类型,如果不写hibernate可以找到对应pojo类的属性的类型
注:本文是在学习期间根据网上视频写的学习笔记,如有侵权请联系删除!
最新文章
- WPF 微信 MVVM 【续】发送部分QQ表情
- 大数据之Yarn——Capacity调度器概念以及配置
- XmlSerializer 对象的Xml序列化和反序列化
- MySQL(无GUI) Windows安装和启动
- <;jsp:include page=";"; />;路径
- 数论学习笔记之解线性方程 a*x + b*y = gcd(a,b)
- linux tar 备份命令
- MySQL之选择字段数据类型
- cocos2d-x 屏幕坐标系和OPenGL坐标系转换
- Ext.Ajax.request同步请求
- php getenv 和 putenv 用法
- 快速构建Windows 8风格应用24-App Bar构建
- leetcode第八题--String to Integer (atoi)
- java JDBC测试
- 网站地图怎么做?dedecms网站地图制作方法听语音
- 新浪实时股票数据接口http://hq.sinajs.cn/list=股票代码
- js 清空html input file的值
- MongoDB索引的种类与使用
- servlet(1)request常用方法
- HDU 5832 A water problem 水题