<!-- UUID 生成策略 -->
<!-- domain ID类型 必须是 String -->
<!-- 类似于网卡生成的类型 -->
<class name="Person">
<id name="id">
<generator class="uuid"></generator>
</id>
<property name="name"/>
<property name="weight"/>
</class>
<!--native 生成策略-->
<!--domain ID类型 必须是 int-->
<!--由数据库自动递增-->
<class name="Person">
<id name="id">
<generator class="native"></generator>
</id>
<property name="name"/>
<property name="weight"/>
</class>
Annotation的ID生成策略
package com.meiyoudao.domain;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class PersonAnno {
private int id;
private String name;
private String weight;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)//不能用于oracle,因为不支持IDENTITY; oracle是SEQUENCE
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getWeight() {
return weight;
}
public void setWeight(String weight) {
this.weight = weight;
}
}
指定SEQUENCE名
package com.meiyoudao.domain;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
@Entity
@SequenceGenerator(name = "sequence_ora",sequenceName="SEQUENCE_ORACLE") //数据库中的sequence名:SEQUENCE_ORACLE
//还有一些可配参数如initialValue 初始化值;allocationSize每次主键值增加的大小
public class PersonAnno {
private int id;
private String name;
private String weight;
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="sequence_ora")//指定定义的sequence名
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getWeight() {
return weight;
}
public void setWeight(String weight) {
this.weight = weight;
}
}
用表存储自增长值
package com.meiyoudao.domain;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.TableGenerator;
@Entity
@TableGenerator(name="sequence_mysql",table="generator_mysql")
//可以设置表名,表列名,表初始值等等信息
public class PersonAnno {
private int id;
private String name;
private String weight;
@Id
@GeneratedValue(strategy=GenerationType.TABLE,generator="sequence_mysql")
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getWeight() {
return weight;
}
public void setWeight(String weight) {
this.weight = weight;
}
}
分享到:
相关推荐
http://blog.csdn.net/e421083458/article/details/8794127 该源码为Hibernate教程配套源码
主要描述hibernate在Annotation情况下的主键生成策略
Hibernate的所有自带的主键生成策略以及XML配置文件的用法
第一种单字段主键类型,看上去简单,无非就是一个id字段呗,实际上这个主键字段在JPA,还有任何的ORM框架中都是有很多种生成策略的。 一般是如下4种: 1. AUTO:自动自增生成 2. TABLE:自定义表生成器 3. Identity...
postgres-hibernate-mapper.zip,Postgre Hibernate Mapper是处理默认Hibernate ID生成策略的小项目。Postgre-Hibernate-Mapper是解决此问题的小项目...
第13课 ID主键生成策略 20 一、 Xml方式 20 元素(主键生成策略) 20 二、 annotateon方式 21 1、AUTO默认 21 2、IDENTITY 22 3、SEQUENCE 22 4、为Oracle指定定义的Sequence 22 5、TABLE - 使用表保存id值 23 三、 ...
5 ID生成策略(重点 AUTO) 6 Hibernate核心开发接口介绍(重点) ... 风格 1 先脉络,后细节 2 先操作,后原理 3 重Annotation,轻xml配置文件 ... 性能优化 1 注意session.clear()的运用,尤其在不断...
* @GenericGenerator —— 注解声明了一个hibernate的主键生成策略。支持十三种策略。该注解有如下属性 * name 指定生成器名称 * strategy 指定具体生成器的类名(指定生成策略)。 * parameters 得到strategy指定的...
3.8. Hibernate SQL方言 (hibernate.dialect) 3.9. Hibernate日志类别 3.10. JTA TransactionManagers 9.1. 继承映射特性(Features of inheritance mappings) 16.1. 别名注射(alias injection names) 19.1. ...
hibernate是一个封装在SQL和JDBC之上的企业级应用框架 配置文件的基本结构如下: <?xml version="1.0" encoding='UTF-8'?>... 主键生成策略"/> </id> …… </hibernate-mapping>
@Id 注解可将实体Bean中某个属性定义为主键,使用@GenerateValue注解可以定义该标识符的生成策略。 • AUTO - 可以是 identity column, sequence 或者 table 类型,取决于不同底层的数据库 • TABLE - 使用table...
merge的作用是:新new一个对象,如果该对象设置了ID,则这个对象就当作游离态处理: 当ID在数据库中不能找到时,用...用update的话,由于没有ID,所以会报异常,merge此时则会保存数据,根据ID生产策略生成一条数据;
HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...
HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...
开始Hibernate之旅 1.2. 第一个可持久化类 1.3. 映射cat 1.4. 与猫同乐 1.5. 结语 2. 体系结构 2.1. 总览 2.2. JMX集成 2.3. JCA支持 3. SessionFactory配置 3.1. 可编程配置方式...
hibernate相关知识,包括关系映射、缓存配置、id生成策略等
5 ID生成策略(重点 AUTO) 5 6 Hibernate核心开发接口介绍(重点) 5 7 对象的三种状态(了解) 5 8 关系映射(重点) 5 9 Hibernate査询(HQL) 5 10 在Struts基础上继续完善BBS200 5 11 性能优化(重点) 5 12 补充...
Hibernate 学习笔记 Hibernate 学习笔记 1 第一个hibernate项目(hibernate_first) 2 测试实体对象的生命周期(hibernate_session) 3 ...hibernate抓取策略 53 Hibernate最佳实践(Best Practices) 55
那么,我们这里的解决方案是使用uuid.hex生成32个字符长度的ITEM_ID订单编号,然后CATEGORY_ITEM表根据这个订单编号来追加业务逻辑数据。 使用方式: 1、下载解压之后,使用MyEclipse导入工程 2、使用查询分析,把...
演示如何使用Hibernate生成器“ Foreign”关键策略和一对一映射。 介绍如何使用Hibernate和spring在内存嵌入式db中使用H2。 给您有关创建定制生成器的想法。TechStack。 Spring Core / ORM。 Hibernate框架。 ...