Java 如何为DB2设置hibernate hbm xml标识生成器;默认情况下使用说明符“生成”;

Java 如何为DB2设置hibernate hbm xml标识生成器;默认情况下使用说明符“生成”;,java,hibernate,db2,hbmxml,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> 我的dto如下所示: package com.dum

我得到了一个列的hbm映射,设置为identity generator

<class name="com.dummy.TestADTO" table="table_a">
    <id name="id" type="integer" column="ID">
        <generator class="identity"/>
    </id>
...
</class>
我的dto如下所示:

package com.dummy;

    class TestADTO {

        private Integer id;

        public Integer getId(){ return id; }
        public void setId(Integer id) { this.id = id; }
    }
  • “一半”意味着我可以为id属性设置一个空值,并且id列由生成器在调用hibernate session.merge(testadto)时设置:
  • 插入测试a(id)值(默认值)

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

    插入测试a(id)值(?)
    (其中?将替换为155)

    我得到的是:

    插入测试a(id)值(默认值)

    我怎样才能让它工作呢

    package com.dummy;
    
        class TestADTO {
    
            private Integer id;
    
            public Integer getId(){ return id; }
            public void setId(Integer id) { this.id = id; }
        }