Hibernate对象标识符生成策略

increment:由Hibernate自动以递增的方式生成标识符,适用于代理主键;

identity:由底层数据库生成标识符,适用于代理主键;

sequcence:由Hibernate根据底层数据库的序列生成标识符,适用于代理主键;(MySQL不适用)

hilo:由Hibernate根据high/low算法生成标识符,适用于代理主键;

native:根据底层数据库对自动生成标识符的支持能力,来选择identity/sequcence/hilo,适用于代理主键。

使用increment生成的表是没使用auto increment的,而使用identity或native生成的表就使用了auto increment。

Hibernate对象标识符生成策略

时间: 2024-12-08 07:12:15

Hibernate对象标识符生成策略的相关文章

hibernate ID生成策略配置

1.Student.hbm.xml配置 <hibernate-mapping package="com.wxh.hibernate.model"> <class name="Student" > <id name="id"> <generator class="uuid"></generator> </id> <property name="

Hibernate ID生成策略

我们在创建表的时候都有一个唯一id,但是我们想自动的跨平台的生成id,hibernate帮我们实现了方法. 常用的UUID,native: 方式一: 使用xml:Student.hbm.xml <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sour

Hibernate之:各种主键生成策略与配置详解

1.assigned 主键由外部程序负责生成,在 save() 之前必须指定一个.Hibernate不负责维护主键生成.与Hibernate和底层数据库都无关,可以跨数据库.在存储对象前,必须要使用主键的setter方法给主键赋值,至于这个值怎么生成,完全由自己决定,这种方法应该尽量避免. <id name="id" column="id"> <generator class="assigned" /> </id&g

[转]hibernate主键生成策略

1.assigned 主键由外部程序负责生成,在 save() 之前必须指定一个.Hibernate不负责维护主键生成.与Hibernate和底层数据库都无关,可以跨数据库.在存储对象前,必须要使用主键的setter方法给主键赋值,至于这个值怎么生成,完全由自己决定,这种方法应该尽量避免. <id name="id" column="id"> <generator class="assigned" /> </id&g

hibernate主键生成策略

引用:http://www.cnblogs.com/hoobey/p/5508992.html 1.assigned 主键由外部程序负责生成,在 save() 之前必须指定一个.Hibernate不负责维护主键生成.与Hibernate和底层数据库都无关,可以跨数据库.在存储对象前,必须要使用主键的setter方法给主键赋值,至于这个值怎么生成,完全由自己决定,这种方法应该尽量避免. <id name="id" column="id"> <gene

Hibernate各种主键生成策略与配置详解

1.assigned 主键由外部程序负责生成,在 save() 之前必须指定一个.Hibernate不负责维护主键生成.与Hibernate和底层数据库都无关,可以跨数据库.在存储对象前,必须要使用主键的setter方法给主键赋值,至于这个值怎么生成,完全由自己决定,这种方法应该尽量避免. <id name="id" column="id"> <generator class="assigned" /> </id&g

大家一起撸代码之——Hibernate各种主键生成策略与配置详解

1.assigned 主键由外部程序负责生成,在 save() 之前必须指定一个.Hibernate不负责维护主键生成.与Hibernate和底层数据库都无关,可以跨数据库.在存储对象前,必须要使用主键的setter方法给主键赋值,至于这个值怎么生成,完全由自己决定,这种方法应该尽量避免. <id name="id" column="id"> <generator class="assigned" /> </id&g

”伪集群“导致的Hibernate主键increment生成策略异常

一.问题描述: 一个小型WEB应用,单点部署(一份Tomcat+一份MySQL),无集群需求. 有一张数据表的主键使用Hibernate的increment生成策略: <id name="id" column="id"> <generator class="increment" /> </id> 但当有多人在同时调试该表的写入模块时,会抛出如下异常: com.mysql.jdbc.exceptions.jdbc

Hibernate 表映射 主键生成策略与复合主键

主要分析三点: 一.数据表和Java类的映射 : 二.单一主键映射和主键的生成策略 : 三.复合主键的表映射 : 一.数据表和Java类的映射  Hibernate封装了数据库DDL语句,只需要将数据表和类之间实现映射,即可对数据表进行操作. 示例:数据库中存在表interface_admin.ds_area,实现表和类之间映射,其中单一主键oggKeyId,使用主键自动生成策略UUID,具体第二点进行阐述 . package com.pec.model; import java.io.Seri