zoukankan      html  css  js  c++  java
  • hibernate oracle 配置序列 实现自动增长

        以前开发一直在用MSSQL,MYSQL 没有用过 oracle,现在有后发现ID没有自动增长的功能,MSSQL,MYSQL在这方面方便,只用一个关键字可以设置了,但 oracle还要绕一个大圈,又要在 oracle中先写序列,而且每个表都要创建一个序列,还要用触发器中调用序列或在程序中配置调用序列。呵呵。下面来说一下oracle与hibernate中实现ID的自动增长。

       1、先创建序列:

         CREATE SEQUENCE myseq --创建序列,名为:myseq

         START WITH 1 --从1开始

         MAXVALUE 999999999 --最大值

         INCREMENT BY 1 --每次递增 1

         ORDER --排序

         NOCYCLE; --避免重新开始,关闭循环 

      2、hibernate 配置

          2.1、 hibernate 注释配置      

     2       private Integer id;
     3       @Id
     4       @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="myseq_test")  
     5       @SequenceGenerator(name="myseq_test",sequenceName="myseq",allocationSize=1)  
     6       public Integer getId() {
     7           return id;
     8       }
     9       public void setId(Integer id) {
    10           this.id = id;
    11       }

                  注:其中 myseq 为序列名称,myseq_test 为myseq 别名。allocationSize要注意:我参考官方文档配置,但是官方文档没有配置这个属性,导致我的序列默认不是按照1递增的,

    加上就可以了。

          2.2、 hibernate xml配置,在你的hbm.xml中配置

                    

    2  <id column="ID" name="id" type="integer">
    3           <generator class="sequence">
    4                <param name="sequence">seq_id</param>
    5           </generator>
    6  </id>
         

       

  • 相关阅读:
    七easy网络陷阱上当
    移动端--web开展
    ContentType是否大小写区分?
    NYOJ 24 素数的距离问题
    Emoji:搜索将与您找到表情符号背后的故事
    Cocos2d-X之LUA注意事项
    [Angular] ChangeDetection -- onPush
    [Node.js] Build microservices in Node.js with micro
    [Angular] Scrolling the Message List To the Bottom Automatically Using OnChanges
    [Angular] Ngrx/effects, Action trigger another action
  • 原文地址:https://www.cnblogs.com/yuanermen/p/1851177.html
Copyright © 2011-2022 走看看