如何为DB2“通过默认情况下生成”生成hibernate hbm xml标识生成器

时间:2016-02-04 21:06:03

标签: java hibernate db2 hbmxml

我有一个列的hbm映射,设置为identity generator

<class name="com.dummy.TestADTO" table="table_a">
    <id name="id" type="integer" column="ID">
        <generator class="identity"/>
    </id>
...
</class>

,其中一半已经与我定义的db2密钥表列一起工作

ID NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1, NO CACHE)

我的dto如下:

package com.dummy;

    class TestADTO {

        private Integer id;

        public Integer getId(){ return id; }
        public void setId(Integer id) { this.id = id; }
    }
  1. 'half of it'表示我可以为id属性设置null值,并且当调用hibernate session.merge(testadto)时,ID列由生成器设置:
  2. insert into test_a(id) values (default);

    1. 另一半不起作用的是,我可以为TestADTO.id设置一个值= 155,但是当hibernate使用session.merge(testadto)插入db时,不会使用该值。而是使用身份生成器的下一个值:
    2. 我想要的是:

      insert into test_a(id) values (?); (在哪里?将被155替换)

      我得到了什么:

      insert into test_a(id) values (default);

      我怎样才能让它发挥作用?

0 个答案:

没有答案