id生成策略:
当没有人为填写时,设置成自增长,否则设置成人为填写的id。用hibernate如何实现。请指教,谢谢!

解决方案 »

  1.   

    数字ID: <generator class="increment"/>
    字符ID:<generator class="uuid"/>
    自己赋值:<generator class="assigned"/>
      

  2.   

    这问题不矛盾吗?手工输入  你是后台较验唯一性呢还是数据库较验呀 如果你可以确定唯一性  hibernate的save()有别一个重载方法 save(entity,输入主键)
      

  3.   

    在.hbm.xml里就能设置啊  
    比如
    <id name="id" column="id" type="int">
    <generator class="increment"></generator>
    </id>
    这样就是自动生成主键  这是适用于mysql的  
    oracle的话  generator采用的是 sequence!
      

  4.   

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    尽量用注入注解,要摒弃钻木取火的配置XML。
      

  5.   

    0.0
    我觉得我还是习惯了xml了  注解看着确实方便很多
      

  6.   

    一种方式是oracle建立序列  然后 序列名.nextval另外一种方式为:
    <id name="id" column="id" type="int">
    <generator class="increment"></generator>
    </id>