`

Hibernate 中oracle 主键的自动生成办法

阅读更多
1:uuid.hex: 采用128位的算法来生成一个32位字符串。最通用的一种方式。适用于所有数据库 。在*.hbm.xml中按如下设置。

<id name="id" unsaved-value="null">
  <generator class="uuid.hex"/>
</id>

2:指定参数的情况
    <id name="id" unsaved-value="0">
      <generator class="sequence">
        <param name="sequence">SEQ_CHILD</param>
      </generator>
    </id>

3:以下是Tracylau 所写,网址如下:http://forum.iteye.com/allbloglist.php?page=5
所有的<generator>的Class都是从net.sf.hibernate.id.IdentifierGenerator接口实现得到的,Class属性表示该generator是由哪种方式来生成的。生成方式包括:

increment:生成long, short或者int类型的主键,不能在cluster环境下使用。适用于所有数据库
identity:生成long, short或者int类型的主键。适用于DB2, MySQL, MS SQL Server, Sybase and HypersonicSQL
sequence :生成long, short或者int类型的主键。适用于DB2, PostgreSQL, Oracle, SAP DB, McKoi,Interbase.
hilo:生成long, short或者int类型的主键。需要提供一个数据库的表来存放生成的主键信息。当采用应用服务器的JTA提供的数据库连接或者用户自定义的数据库连接的时候,不要使用这种主键生成方式。适用于所有数据库
seqhilo:采用给定的数据库的sequence来生成long, short或者int类型的主键。适用于DB2, PostgreSQL, Oracle, SAP DB, McKoi,Interbase.

uuid.hex:采用128位的算法来生成一个32位字符串。最通用的一种方式。适用于所有数据库
uuid.string:同样采用128位的UUID算法。将生成的字符编码位16位。适用于除PostgreSQL.以外的数据库
native:根据具体连接的数据库从identity, sequence或者hilo选择一种来生成主键。适用的数据库根据选择的生成方式确定。
assigned: 交给应用自己给主键赋值。要注意的是赋值必须在调用save()方法之前完成。适用的数据库根据选择的生成方式确定。
分享到:
评论

相关推荐

    hibernate映射主键生成策略native

    hibernata 映射主键自动生成,跨数据库时,如何设置,主要讲述在oracle的mapping文件中的设置,以及orcle数据库中的设置

    JPA学习笔记-EJB-03JPA主键生成策略总结

    总结一下关于JPA的主键生成策略,JPA是用@GeneratedValue标记来注释的。一般的我把主键生成分成两大类。第一个就是简单的单字段主键类型,一个就是复杂的复合主键类型。我们分2种情况分别讨论。 第一种单字段主键...

    hibernate配置文件工具

    4.可以选择表,hibernate 主键策略; 5.可以设置生成的 javaBean 的 package 路径; 6.可选择生成的文件保存路径; 7.数据库服务器信息可保存,编辑,删除; 8.支持数据库 mysql5,oracle10g,mssql200,mssql2005...

    Hibernate笔记 马士兵

    第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 三、 ...

    Hibernate注解

    * name 表示该表主键生成策略名称,它被引用在@GeneratedValue中设置的“gernerator”值中 * sequenceName 表示生成策略用到的数据库序列名称。 * initialValue 表示主键初始值,默认为0. * allocationSize 每次主键...

    Java代码生成工具新版

    生成Hibernate POJO类,Dao类,Service类,Action类。 生成保存,删除,修改,批量保存,批量修改,批量删除,按条件查询,分页查询等功能。 生成各大主流框架配置文件及JSP页面。 一键生成整个项目,加入Jar包部署...

    Hibernate 多数据库支持解决方案

    Hibernate多数据库支持解决方案 一、 去掉数据库级的外键关联 二、 如何动态加载.hbm.xml文件 ...五、 hibernate主键生成器(数值型主键操作方法) 六、 Oracle 转换 SQL Server 2000注意 七、 对UTF-8数据库的特殊处理

    hibernate配置

    &lt;generator class="assigned"&gt;&lt;/generator&gt; //数据库中的主键生成策略 数据库中表的其它字段所对应的持久化对象中的属性名" column="对应数据库中表的其它字段名" type="java.lang.String(数据库中其它字段...

    Java代码生成工具(傻瓜式操作无需教程的代码生成工具) v2.0.zip

    生成hibernate pojo类,dao类,service类,action类。  生成保存,删除,修改,批量保存,批量修改,批量删除,按条件查询,分页查询等功能。  生成各大主流框架配置文件及jsp页面。  一键生成整个项目,加入...

    AutoCode代码生成器(JAVA版)

    您是不是因为java的开发和维护繁琐而烦恼,目前政府机关、企业大都要求用java来开发项目,本软件将彻底解决您的后顾之忧,通过本软件的自动生成功能,生成...☆ 目前支持Oracle、Sqlserver 数据库对象的自动生成代码。

    好用的代码生成源码

    示例如下: UserInfoBaseDao : 自动生成的代码, 不能手工修改,用于重复生成 UserInfoDao extends UserInfoBaseDao : 存放手工的代码,不能重复生成 页面的重复生成还没有啥好办法。 语法参考: ...

    ssh(structs,spring,hibernate)框架中的上传下载

     文件数据存储在Blob类型的FILE_CONTENT表字段上,在Spring中采用OracleLobHandler来处理Lob字段(包括Clob和Blob),由于在程序中不需要引用到oracle数据驱动程序的具体类且屏蔽了不同数据库处理Lob字段方法上的...

    autocode中文java版

     ☆ 目前支持Oracle、Sqlserver 数据库对象的自动生成代码。  4、购买联系方式:  50元/一个授权号 ,5个以上8折优惠 Email通讯邮箱 :autocode@126.com QQ留言:915842778 5、温馨提示  您付款后,在试用版的\...

    BOS 技术整理

    @GeneratedValue 自动生成主键的值 @Column 设置映射数据表中列信息 @Temporal 控制数据表保存日期哪个部分(日期、时间、日期时间) @OneToMany(mappedBy 相当于 inverse ) @ManyToOne 结合 @JoinColumn ...

    Java面试宝典2020修订版V1.0.1.doc

    目录 ...1、HTML中定义表格的宽度用80px和80%的区别是...20、Hibernate的主键生成策略? 94 21、Hibernate的级联操作 94 22、Hibernate有哪5个核心接口? 95 23、什么是重量级?什么是轻量级? 95 24、谈谈Spring的IOC和DI

    jdbc基础和参考

    hibernate不在自动生成主键值,需要你在插入时自己指明 3.hilo:高低值算法,由数据库表提供高值,程序提供低值 value = hi*(max_lo+1)+lo 4.sequences Cat: cid name color weight age ------------------------...

    传奇八方蔗糖

    它旨在成为一种生成数据库密钥的工具,而不必依赖于SQL Server的身份列或Oracle的序列之类的DBMS功能。 该存储库不应该负责生成任何信息,它只能是一个存储。 必须在应用程序层中定义主键,甚至代理键。 可以使用...

    Spring中文帮助文档

    11.5.2. 使用SimpleJdbcInsert来获取自动生成的主键 11.5.3. 指定SimpleJdbcInsert所使用的字段 11.5.4. 使用SqlParameterSource提供参数值 11.5.5. 使用SimpleJdbcCall调用存储过程 11.5.6. 声明SimpleJdbcCall...

    sqltoy-orm框架系统-其他

    9、五种非数据库相关主键生成策略 10、elastic原生查询支持 11、elasticsearch-sql 插件模式sql模式支持     sqltoy-orm框架系统 更新日志: v4.18.22 1、在findEntity中EntityQuery可以设置fetchSize 2、在...

Global site tag (gtag.js) - Google Analytics