新手上路之Hibernate(二):基本映射以及一些原则与主键生成策略
2015-02-26 15:45
459 查看
原文链接:http://blog.csdn.net/aboy123/article/details/10222675
新手上路之Hibernate:第一个Hibernate例子,通过一个例子了解了什么是Hibernate。而其中最重要的就是通过User.hbm.xml来配置映射。这里所说的映射就是对象关系映射:将对象数据保存到数据库中,同时可以将数据库数据读入对象中,开发人员只对对象进行操作就可以完成对数据库数据的操作。
例如:还是以Mysql数据库为例,进行说明。有如下一张表:
建立相应的实体类:User
对于Hibernate来说,最重要的就是配置文件,即还需要一个User.hbm.xml文件
实体类——对应了——数据库中表、实体类中的属性——对应了——表中字段。
一、什么是映射
在上一篇文章中新手上路之Hibernate:第一个Hibernate例子,通过一个例子了解了什么是Hibernate。而其中最重要的就是通过User.hbm.xml来配置映射。这里所说的映射就是对象关系映射:将对象数据保存到数据库中,同时可以将数据库数据读入对象中,开发人员只对对象进行操作就可以完成对数据库数据的操作。
二、什么是基本映射
知道了什么是映射,那么我们先来看一下最基本的映射关系——基本映射,即根据表结构创建相应实体类例如:还是以Mysql数据库为例,进行说明。有如下一张表:
建立相应的实体类:User
public class User { private String id; private String username; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String userName) { this.username = userName; } }
对于Hibernate来说,最重要的就是配置文件,即还需要一个User.hbm.xml文件
<hibernate-mapping> <class name="com.example.hibernate.User" table="t_user"> <id name="id"> <generator class="uuid"/> </id> <property name="username"/> </class> </hibernate-mapping>其他部分的代码参照上一篇文章即可。
三、建立User实体类的一些原则
1、实现无参的默认的构造函数
2、提供一个标识
3、建议不要使用fianl修饰实体类
4、建议为实体类生成setter和getter方法
对于第3条建议,如果使用了fianl关键字,那么延迟加载(load)将会无效。具体含义将会在下一篇文章中给出实例。四、HIbernate主键生成策略
在上面User.hbm.xml配置文件中有一个标签:<generator>。它表示的是主键生成策略。主键生成策略必须配置,用来为该持久化类的实例生成唯一的标识。它有如下几种策略uuid: 用一个128-bit的UUID算法生成字符串类型的标识符,这在一个网络中是唯一的(使用了IP地址),UUID被编码为一个32位16进制数字的字符串,它的生成是由Hibernate生成,一般不会重复UUID包含:IP地址,JVM的启动时间,系统时间和一个计算器值。
identity:MySql数据库中自增长
Sequence:Oracle数据库自增长
native:根据底层数据库能力选择identity、sequence中的一个。
assigned:手动分配主键.<generator>没有指定时的默认生成策略
foreign:使用另外一个相关联的对象的标示符。通常和<one-to-one>配合使用
五、总结
概括一下Hibernate的基本映射就是:实体类——对应了——数据库中表、实体类中的属性——对应了——表中字段。
相关文章推荐
- 新手上路之Hibernate(二):基本映射以及一些原则与主键生成策略
- Hibernate 学习笔记-1-3(Hibernate的基本映射以及几种主键生成策略的测试)
- Hibernate-4种常用主键生成策略 以及1对1关联
- SS5.1_Hibernate_IdStrategyXML ~ SS5.5_Hibernate_IdStrategyXML 主键生成策略 XML映射文件的方式
- hibernate配置文件简介,以及主键生成策略
- 新手上路之Hibernate(四):单向一对一关联映射(主键、唯一外键关联)
- hibernate中一对多等关系映射图和主键生成策略
- hibernate生成实体时对应的映射文件中主键的生成策略
- [原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点,在hibernate 中 java类型 与sql类型之间的对应关系,Java 时间和日期类型的映射,Java 大对象类型 的 映射 (了解),映射组成关系
- Hibernate-主键映射之主键生成策略
- hibernate联合主键生成策略以及一对多配置
- HIbernate第二课--基本注解,主键生成策略
- Hibernate 表映射 主键生成策略与复合主键
- Hibernate实战_笔记24(主键生成策略、类映射选项)
- equals和hashCode方法重写 以及hibernate的联合主键生成策略的生成类的生成
- 扩展hibernate的主键生成策略 good
- 基于按annotation的hibernate主键生成策略
- Hibernate 的三种主键生成策略
- hibernate主键生成策略(1)
- hibernate笔记(三) Hibernate标识符属性(主键)生成策略全析