`
ag4444
  • 浏览: 34753 次
  • 性别: Icon_minigender_1
  • 来自: taiyuan
社区版块
存档分类
最新评论

hibernate-uniqueidentifier

阅读更多

hibernate 字符的映射 SQLserver   uniqueidentifier 类型 

开始

<id name="id" column="id" type="java.lang.String"> <generator class="native"/> </id> 报错:org.hibernate.AssertionFailure: null identifier 但是能够保存到数据中数据,因为在数据库中 设定默认值newid()

 

后来更改为

 

 

<id name="id" column="id" type="java.lang.String"> <generator class="guid"/> </id> 没有错误提示了

 

问题:guid是什么意思呢

 

下面为摘自esffor的http://esffor.iteye.com/blog/96331esf

 

hibernate 主键生成器解释 Generator 可选的<generator>子元素是一个Java类的名字, 用来为该持久化类的实例生成唯一的标识。如果这个生成器实例需要某些配置值或者初始化参数, 用<param>元素来传递。 <id name="id" type="long" column="cat_id"> <generator class="org.hibernate.id.TableHiLoGenerator"> <param name="table">uid_table</param> <param name="column">next_hi_value_column</param> </generator> </id> 所有的生成器都实现net.sf.hibernate.id.IdentifierGenerator接口。 这是一个非常简单的接口;某些应用程序可以选择提供他们自己特定的实现。当然, Hibernate提供了很多内置的实现。下面是一些内置生成器的快捷名字: increment 用于为long, short或者int类型生成 唯一标识。只有在没有其他进程往同一张表中插入数据时才能使用。 在集群下不要使用。 identity 对DB2,MySQL, MS SQL Server, Sybase和HypersonicSQL的内置标识字段提供支持。 返回的标识符是long, short 或者int类型的。 sequence 在DB2,PostgreSQL, Oracle, SAP DB, McKoi中使用序列(sequence), 而在Interbase中使用生成器(generator)。返回的标识符是long, short或者 int类型的。 hilo 使用一个高/低位算法高效的生成long, short 或者 int类型的标识符。给定一个表和字段(默认分别是是 hibernate_unique_key 和next_hi)作为高位值的来源。 高/低位算法生成的标识符只在一个特定的数据库中是唯一的。 seqhilo 使用一个高/低位算法来高效的生成long, short 或者 int类型的标识符,给定一个数据库序列(sequence)的名字。 uuid 用一个128-bit的UUID算法生成字符串类型的标识符, 这在一个网络中是唯一的(使用了IP地址)。UUID被编码为一个32位16进制数字的字符串。 guid 在MS SQL Server 和 MySQL 中使用数据库生成的GUID字符串。 native 根据底层数据库的能力选择identity, sequence 或者hilo中的一个。 assigned 让应用程序在save()之前为对象分配一个标示符。这是 <generator>元素没有指定时的默认生成策略。 select 通过数据库触发器选择一些唯一主键的行并返回主键值来分配一个主键。 foreign 使用另外一个相关联的对象的标识符。通常和<one-to-one>联合起来使用。

 

 

for

 

    

分享到:
评论

相关推荐

    创建 uniqueidentifier 类型的唯一值

    下面的示例使用 NEWID 对声明为 uniqueidentifier 数据类型的变量赋值。在测试该值前,将先打印 uniqueidentifier 数据类型变量的值。

    SqlServer中Int类型快速转uniqueidentifier

    SqlServer中Int类型快速转uniqueidentifier

    SQL Server导入MySQL.zip

    SQL Server导入MySQL,包括表结构及数据,uniqueidentifier 需要改变为字符类型

    uniqueidentifier转换成varchar数据类型的sql语句

    代码如下: —涂聚文 Geovin Du DECLARE @myid uniqueidentifier SET @myid = NEWID() SELECT CONVERT(char(255), @myid) AS ‘char’; GO –涂聚文 Geovin Du declare @allstring char(255),@AreaUid ...

    解决sql server保存对象字符串转换成uniqueidentifier失败的问题

    客户要求,ID列的数据类型必须是uniqueidentifier,一开始实体类的ID设计成java.lang.String类型;映射文件中ID的增长方式是uuid.hex private java.lang.String id; public java.lang.String getId(){ return id; }...

    powerdesigner GUID uniqueidentifier测试数据生成补丁

    修正powerdesigner无法为SQL SERVER2005、2008自动生成GUID数据类型的测试数据问题,解压后直接覆盖相关文件。 建立test data profile,进行相关设置即可自动生成GUID测试数据。 具体设置可参照博文:...

    SQL语句。。。。。。。。。

    IDENTITY() 函数只在SELECT INTO ...NEWID() --函数返回一个UNIQUEIDENTIFIER 类型的数值 NULLIF(, &lt;expression2&gt; ) --NULLIF 函数在expression1 和expression2 相等时返回NULL 值若不相等时则返回expression1 的值

    sql 游标、存储过程

    @userId uniqueidentifier, @deskId uniqueidentifier as begin transaction insert into t_order_dishes(sOrderNo, dish_id, price, order_num, subtotal, taste_id1, taste_id2, remark, waiter) select @...

    自己用的sql语句

    id uniqueidentifier primary key default newid(), name_ch nvarchar(20), naem_en nvarchar(60), d_code nvarchar(2) ) go insert into t_classify_method(id, name_ch, name_en, d_code) values ('2F71F378-...

    Laravel开发-laravel-mssql

    Laravel开发-laravel-mssql Laravel扩展,允许使用MS SQL特定的列类型,如“datetime2”、“real”和“uniqueidentifier”。

    Sqlserver最新县及县以上行政区划代码

    国家统计局-发布时间:2016...[ID] [uniqueidentifier] NOT NULL, [CreateDate] [datetime] NOT NULL DEFAULT (getdate()), [TimeStamps] [timestamp] NULL, [Name] [nvarchar] (50) NULL, [Code] [nvarchar] (6) NULL)

    typo3-flow-google-closure:TYPO3 Flow 的 Google Closure Package

    ##Google TYPO3 流程的... UniqueIdentifier: compiler: options: 例子 MyUniqueKey: compiler: options: id: 'my-project-id' externs: - 'resource://My.Package/Public/JavaScripts/Externs/SomeExterns.js'

    ApacheCamel简介与入门

    StackOverflow上有很多学习ApacheCamel的资源,而这里仅仅是使用一个实例来简单的介绍...唯一的识别(UniqueIdentifier)--java.lang.String类型2.头信息(Headers)--会提供一些内容的提示,头信息被组织成名值对的形

    chapp:Meteor 的基本聊天包

    //you could set the user name on user loginSession.set('chapp-docid','uniqueIdentifier'); //The room identifier. Iron router's before action can be a great spot to set this.Session.set('chapp-...

    SQL2005入门到精通(9)

    172 9.3.7 decimal常量 172 9.3.8 float和real常量 173 9.3.9 money常量 173 9.3.10 uniqueidentifier常量 173 9.3.11 在T-SQL中使用常量 173 9.4 T-SQL中的变量 174 9.4.1 局部变量 174 ...

    Randomizer:返回唯一的编号以用于项目区分

    随机化器一个简单的插件,用于返回唯一的数字以用于商品区分。 可以添加前缀。 随机数的长度最多为5位...用法uniqueIdentifier ( 'ajax' ) 例如,返回“ ajax-65468”。 uniqueIdentifier ( ) 例如,返回“ 57846”。

    SQL临时表递归查询子信息并返回记录的代码

    代码如下: declare @Q_ID uniqueidentifier set @Q_ID = dbo.uf_GetParamValueByName(@Params,’@指标ID’); declare @QAExp_ID char(36) –指标属性公式ID set @QAExp_ID=’3D2B8F3F-0B7E-46FD-9B33-050F846C2869′...

    sql server中随机函数NewID()和Rand()

    在SQL Server中,随机函数有rand(),NewID(),其中rand是在0到1内随机取数,NewID则是生成随机的uniqueidentifier唯一标识符。 SELECT * FROM Northwind..Orders ORDER BY NEWID() –随机排序 SELECT TOP 10 * ...

    ImportSQL

    支持uniqueidentifier,image,nvarchar,int,datetime等类型数据导出。 使用方法: 1.设置数据库连接,启动程序时会弹出设置对话框,按左侧内容填写即可。 2.按条件导出:在tab的高级选项卡中输入where语句以后的...

Global site tag (gtag.js) - Google Analytics