Hibernate的主键生成器generator说明
2011-02-21 13:43
274 查看
设置主键 HIbernate主键详解------Native Native主键生成方式会根据不同的底层数据库自动选择Identity、Sequence、Hilo主键生成方式 特点:根据不同的底层数据库采用不同的主键生成方式。由于Hibernate会根据底层数据库采用不同的映射方式,因此便于程序移植,项目中如果用到多个数据库时,可以使用这种方式
Hibernate的主键生成器generator说明
关键字: hibernate 1、如果主键字段为自增类型。 那么对应的.hbm.xml文件中的id字段的xml声明, 应该这么写: <generator class="native" /> 例如: <id column="user_id" name="Id" type="integer" > <generator class="native" /> </id> 其实这个native并非实际的类型,而是hiberante根据 当前使用的数据库,自动使用对应的类型。 例如:如果sqlserver,native就对应identity 见Hiberante参考: native(本地) 根据底层数据库的能力选择identity, sequence 或者hilo中的一个。 2、如果主键字段不设置为自增,但是是int型的。 可以使用increment,由hibernate产生主键。 <generator class="increment" /> 不过这种方法,对于并发量大的应用,似乎最好不要采用。 见hiberante参考: increment(递增) 用于为long, short或者int类型生成唯一标识。只有在没有其他进程往同一张表中插入数据时才能使用。 在集群下不要使用。 3、如果使用uuid.hex产生的随机32位数最为主键。 那么数据库的id字段类型为char,长度为32 hbm.xml中写为: <generator class="uuid.hex" /> 另外,uuid.string也是功能类似。 uuid.hex产生的是32位的16进制数字的字符串。 而uuid.string产生的是16个字符长的任意ASCII字符组成的字符串 见参考: uuid.hex 用一个128-bit的UUID算法生成字符串类型的标识符。在一个网络中唯一(使用了IP地址)。UUID被编码为一个32位16进制数字的字符串。 uuid.string 使用同样的UUID算法。UUID被编码为一个16个字符长的任意ASCII字符组成的字符串。不能使用在PostgreSQL数据库中
相关文章推荐
- Hibernate主键生成器generator
- Hibernate主键生成器说明
- Hibernate的主键生成器generator在SQLServer中的使用
- Hibernate主键生成策略类型的使用说明[hibernate generator strategy]
- 常用的hibernate内置主键生成器说明
- Hibernate的主键生成器generator(zhuan)
- Hibernate中的主键生成器generator
- Hibernate配置文件hbm主键的generator可选项
- hibernate主键生成器
- Hibernate主键生成器
- Hibernate的中使用<generator>设置主键的生成方式
- Hibernate基础之五:自增主键@GeneratedValue、@SequenceGenerator
- hibernate主键生成策略 @GeneratedValue 与 @GenericGenerator
- Hibernate配置文件hbm主键的generator可选项
- Hibernate配置文件hbm主键的generator可选项
- hibernate 主键生成器解释
- Hibernate各种主键生成策略与配置详解【附1--<generator class="foreign">】
- Hibernate基础之五:自增主键@GeneratedValue、@SequenceGenerator
- Hibernate的中使用<generator>设置主键的生成方式
- Hibernate常用主键generator策略选择及配置