如何在Postgres中添加两个ID序列自动增量并使用Hibernate进行映射

时间:2016-07-28 07:22:18

标签: java database postgresql hibernate jpa

  1. 我正在使用Spring启动开发小型MicroService。
  2. 我的数据库是Postgres,我的服务中有一个pojo映射表。
  3. 最初我的表是使用一个主键NOT NULL序列创建的。
  4. 现在我要添加一个序列号从6000开始的列,并使用我的pojo进行映射。
  5. @JsonProperty("id")
        @Column(name = "id", nullable = false)
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY,generator = "order_seq_gen")
        @SequenceGenerator(name = "order_seq_gen", sequenceName ="order_id_seq")
    
        private Integer id;
        @JsonProperty("state")
        private String state;
    
        @JsonProperty("user_Id")
        @Column(name = "user_Id", nullable = false)
        @GeneratedValue(strategy = GenerationType.IDENTITY,generator = "user_seq_gen")
        @SequenceGenerator(name = "user_seq_gen", sequenceName ="user_id_seq")
        private Integer userId;
    
    1. 这是我的Pojo。
    2. 第一个ID正在创建但userId未创建。
    3. Bellow是我的表结构和序列。
    4. 这是我的创建表语句

      CREATE TABLE public.user 
      (   
        id integer NOT NULL DEFAULT nextval('user_id_seq'::regclass),  
        created timestamp without time zone,   
        modified timestamp without time zone,   
        state character varying(255),   
        name text,   
        user_id integer NOT NULL DEFAULT nextval('user_id_seq'::regclass),   CONSTRAINT user_pkey
      PRIMARY KEY (id) 
      )
      

      以下是我的序列。

      CREATE SEQUENCE public.user_id_seq   INCREMENT 1   MINVALUE 6001  
      MAXVALUE 9223372036854775807   START 6000   CACHE 1; 
      ALTER TABLE public.user_id_seq   OWNER TO postgres;
      

      我尝试的是在我的表中,user_id列应该从Base生成Auto为6000并且每次增加1。

      每当我从我的服务中调用API时,它就会创建新记录。但是user_id没有显示任何内容。

0 个答案:

没有答案