Hibernate入门(三)
一 Hibernate生成器类
Hibernate中,标签id中的generator标签用于生成持久化类对象的唯一标识。所有的生成器类都实现了org.hibernate.id.IdentifierGenerator接口。 可以通过实现IdentifierGenerator接口来创建自己的生成器类。
1.assigned
如果没有使用<generator>元素,assigned是默认的生成器策略,应用程序为对象分配ID。
....
<hibernate-mapping>
<class ...>
<id ...>
<generator class="assigned"></generator>
</id> ..... </class>
</hibernate-mapping>
2.increment
当没有其他进程将数据插入此表时,才会生成唯一的ID。 它生成short,int或long型标识符。 第一个生成的标识符通常为1,然后每次递增为1。
....
<hibernate-mapping>
<class ...>
<id ...>
<generator class="increment"></generator>
</id> ..... </class>
</hibernate-mapping>
3.sequence
使用数据库的顺序序列,如果没有定义序列,它会自动创建一个序列。在Oracle数据库的情况下,它将创建一个名为HIBERNATE_SEQUENCE的序列。 在Oracle,DB2,SAP DB,Postgre SQL或McKoi的情况下,它使用序列(sequence),但在interbase中使用生成器。
.....
<id ...>
<generator class="sequence"></generator>
</id>
.....
要定义自己的序列,请使用generator的 param 子元素。
.....
<id ...>
<generator class="sequence">
<param name="sequence">your_sequence_name</param>
</generator>
</id>
.....
4.hilo
它使用高低算法来生成short,int和long类型的id。
.....
<id ...>
<generator class="hilo"></generator>
</id>
.....
5.native
它使用标识,序列或希洛取决于数据库供应商。
.....
<id ...>
<generator class="native"></generator>
</id>
.....
6.identity
它用于Sybase,Mysql,MS SQL Server,DB2和Hypersonic SQL以支持id列。 返回的ID类型为short,int或long
7.seqhilo
它在指定的序列名称上使用高低算法。 返回的ID类型为short,int或long。
8.UUID
它使用128位UUID算法生成id。 返回的ID是String类型,在网络中是唯一的(因为使用了IP)。 UUID以十六进制数字表示,长度为32。
9.guid
它使用由字符串类型的数据库生成的GUID。 它适用于MS SQL Server和MySQL。
10.select
它使用数据库触发器返回主键。
11.foreign
它使用另一个关联对象的id,主要用于<一对一>关联。
12.sequence-identity
它使用特殊的序列生成策略。 仅在Oracle 10g驱动程序中支持。
Hibernate入门(三)的更多相关文章
- Hibernate入门(三)
持久化类的编写规则: 1.持久化类需要提供无参的构造方法.因为在Hibernate的底层需要使用反射生成的实例. 2.持久化类的属性需要私有,对私有的属性提供共有的get和set方法.因为在Hiber ...
- 简单的Hibernate入门简介
其实Hibernate本身是个独立的框架,它不需要任何web server或application server的支持.然而,大多数的Hibernate入门介绍都加入了很多非Hibernate的东西, ...
- hibernate入门之person表
下面的hibernate入门person表指的是:根据mysql数据库中的test表和其中的元素-->建立映射表==>进而创建持久化类的顺序来操作了,下面为步骤 1.配置MySQL驱动程序 ...
- 史上最简单的Hibernate入门简单介绍
事实上Hibernate本身是个独立的框架,它不须要不论什么web server或application server的支持.然而,大多数的Hibernate入门介绍都加入了非常多非Hibernate ...
- Hibernate(一)之Hibernate入门
一.Hibernate入门 ssh框架体系结构 1.1.ORM框架 Hibernate是一个数据持久化层的ORM框架. Object:对象,java对象,此处特指JavaBean Relational ...
- Hibernate入门这一篇就够了
前言 本博文主要讲解介绍Hibernate框架,ORM的概念和Hibernate入门,相信你们看了就会使用Hibernate了! 什么是Hibernate框架? Hibernate是一种ORM框架,全 ...
- 走进JavaWeb技术世界13:Hibernate入门经典与注解式开发
原文地址:Hibernate入门这一篇就够了 前言 本博文主要讲解介绍Hibernate框架,ORM的概念和Hibernate入门,相信你们看了就会使用Hibernate了! 什么是Hibernate ...
- 三大框架之hibernate入门
hibernate入门 1.orm hibernate是一个经典的开源的orm[数据访问中间件]框架 ORM( Object Relation Mapping)对象关 ...
- Hibernate的三种状态及对象生命周期
理解Hibernate的三种状态,更利于理解Hibernate的运行机制,这些可以让你在开发中对疑点问题的定位产生关键性的帮助. 三种状态 临时状态(Transient):在通过new关键字, ...
- Hibernate入门案例及增删改查
一.Hibernate入门案例剖析: ①创建实体类Student 并重写toString方法 public class Student { private Integer sid; private I ...
随机推荐
- Struts2框架的基本使用(二)
上一篇 Struts2框架的基本使用 我们限于篇幅,最后简单介绍了Action的配置问题,本篇接着介绍有关框架的一些其他基本用法,主要内容如下: Action的基本配置 result的基本配置 Str ...
- js事件相关面试题
说是面试题,其实也相当于是对js事件部分知识点的一个总结.简单内容一笔带过,了解详情我都给出了参考链接,都是之前写的一些相关文章.JavaScript本身没有事件模型,但是环境可以有. DOM:add ...
- wcf发布的服务在前端调用时,遇到跨域问题的解决方案
我是使用IIS作为服务的宿主,因此需要在web.config中增加如下配置节: <bindings> <webHttpBinding> <binding name=&qu ...
- 【NLP】3000篇搜狐新闻语料数据预处理器的python实现
3000篇搜狐新闻语料数据预处理器的python实现 白宁超 2017年5月5日17:20:04 摘要: 关于自然语言处理模型训练亦或是数据挖掘.文本处理等等,均离不开数据清洗,数据预处理的工作.这里 ...
- javascript 六种数据类型(一)
js的数据类型和常见隐式转化逻辑. 一.六种数据类型 原始类型(基本类型):按值访问,可以操作保存在变量中实际的值.原始类型汇总中null和undefined比较特殊. 引用类型:引用类型的值是保存在 ...
- [笔记]机器学习(Machine Learning) - 03.正则化(Regularization)
欠拟合(Underfitting)与过拟合(Overfitting) 上面两张图分别是回归问题和分类问题的欠拟合和过度拟合的例子.可以看到,如果使用直线(两组图的第一张)来拟合训,并不能很好地适应我们 ...
- Linux Centos 6.5_x86安装Nginx
一.下载 二.编译安装 三.启动.停止.平滑重启 一.下载 地址:http://nginx.org/en/download.html 或者在linux上使用wget命令下载: wget http:// ...
- sbt结合IDEA对Spark进行断点调试开发
笔者出于工作及学习的目的,经常与Spark源码打交道,也难免对Spark源码做修改及测试.本人一向讲究借助工具提升效率,开发Spark过程中也在摸索如何更加顺畅的对源码进行调试. Spark基于Sca ...
- java内存模型6-final
与前面介绍的锁和volatile相比较,对final域的读和写更像是普通的变量访问.对于final域,编译器和处理器要遵守两个重排序规则: 在构造函数内对一个final域的写入,与随后把这个被构造对象 ...
- Js之on与addEventListener的使用与两者的不同
Js之on和addEventListener的使用与不同 一.首先介绍两者的用法: 1.on的用法:以onclick为例 第一种: obj.onclick = function(){ //do som ...