hibernate 主键自动生成

hibernate 中的主键自动生成策略

可以手动在程序中维持一个当前的最大id字段

也可以在配置文件中配置,不用手动编写方法实现:

配置如下

<class name="com.jat.bisarea.ho.Test" table="BA_VVTEST">
    <id name="id" type="int" column="ID">
       //该句指定使用hibernate自带的increment策略生成主键
       <generator class="increment"/>
    </id>
    <property name="uname" type="Java.lang.String" column="UNAME"/>
 </class>

这种配置下,只需要填充除了id字段外的其余字段,然后进行事物保存即可。

参考网址:  http://blog.csdn.net/sunsnow8/article/details/253694

时间: 2024-12-26 14:14:14

hibernate 主键自动生成的相关文章

MySQL主键自动生成和生成器表以及JPA主键映射

MySQL主键自动生成 表设计 MySQL有许多主键生成策略,其中很常见的一种是自动生成.一般情况下,主键类型是BIGINT UNSIGNED,自动生成主键的关键词是AUTO_INCREMENT. CREATE TABLE Stock ( id BIGINT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, NO VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, price DECIMAL(6,2) N

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

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

sqlSever 存储过程 中 创建 事务(增删改操作),唯一的主键自动生成 (格式:自定义字母+时间+五位数字,例如:S2014103010001)

描叙: 1.使用带事务的sql 存储过程. 2.添加数据时,自动创建唯一的主键 格式 [一个字母]+[时间格式]+[一个五位数] 3.使用游标,通过另一个表的多条数据,来对当前表数据的添加,并自动生产 唯一主键 格式如上. 4.使用场景:增加主键唯一的主表数据的同时,从另一个表读取多条数据然后添加到子表中,并且生产的主键唯一. 5.使用环境: sqlserver. USE [MicroMall]GO/****** Object: StoredProcedure [dbo].[SaleOrderI

SQL Server主键自动生成_表and存储过程

主键表: CREATE TABLE [dbo].[KEYCODE]( [KeyName] [varchar](12) NOT NULL, [KeyTableName] [varchar](40) NULL, [KeyFieldName] [varchar](30) NULL, [StrLen] [int] NULL, [CodeLen] [int] NULL, [CodeMin] [float] NULL, [CodeMax] [float] NULL, [CodeType] [varchar]

主键自动生成办法

package com.phome.util; import java.util.UUID;/** * 动态生成主键类 * 功能:动态生成主键 * @author 孙丽欣-pc * @time ...... * */public class GeneratePrimaryKey { /** * 获取主键 */ public static String generate(){ return UUID.randomUUID().toString(); }}

Oracle主键自动生成_表and存储过程

-- Create table create table T_EB_SYS_DN_SEQUENCE_CONFIG ( sequence_id VARCHAR2(36) default sys_guid() not null, sequence_name VARCHAR2(50) not null, sequence_desc VARCHAR2(200), sequence_len INTEGER default 4 not null, reset_type INTEGER default 2 n

hibernate 主键生成策略

Hibernate中主键的生成策略主要有以下几种: (1)uuid 原理是使用128位的uuid算法产生主键,从而能够确保网络环境下的一致性.使用此生成策略时,实体类的主键是String类型的,映射成表中字段为varchar.适用所有数据库. [java] view plaincopyprint? <id name="id" column="id"> <span style="white-space:pre">    &l

java框架篇---hibernate主键生成策略

Hibernate主键生成策略 1.自动增长identity 适用于MySQL.DB2.MS SQL Server,采用数据库生成的主键,用于为long.short.int类型生成唯一标识 使用SQL Server 和 MySQL 的自增字段,这个方法不能放到 Oracle 中,Oracle 不支持自增字段,要设定sequence(MySQL 和 SQL Server 中很常用) 数据库中的语法如下: MySQL:create table t_user(id int auto_increment

Hibernate主键生成策略总结(转)

Hibernate提供的主键生成策略,使我们可以在实体类的映射xml文件中设定关键字来告诉hibernate我们要使用的主键生成方式,然后hibernate会根据设定完成数据库的主键控制. 一.首先通过举例子来了解实体映射文件(*.hbm.xml)中对id生成策略配置格式 用户User的实体类User.java [java] view plaincopy package com.bjpowernode.hibernate; import java.util.Date; public class