hibernate的generator设置为uuid,保存对象时,hibernate会自动给id设置一个uuid值。
现在手动给id设置一个值,在保存的时候,这个设置的值没有效果,hibernate始终会重新产生一个值。我的问题是,如何手动给uuid设置一个值?
我使用的方法:org.springframework.orm.hibernate3.support.HibernateDaoSupport.save(Ojbect obj)

解决方案 »

  1.   

    不要用uuid啦,用assigned好了,就可以自己给Id赋值了。
      

  2.   

    原来的需求id值是设置的uuid,当时不需要关注id值的生成。现在是另外一个系统也要产生记录进来,id值不能改变,也就是手动设置好了的。所以没办法改为assigned!
      

  3.   

    uuid id生成的算法 应该是hibernate帮你做了,而assigned则是由程序来实现,即程序员自已写代码实现赋值
      

  4.   

    呵呵,如果hibernate uuid generator不能手动赋值,目前想到:
    1.改为assigned,修改save方法,手动赋值; 
    2.增加一个属性保存,但相关查询逻辑也要跟着改了;
    3. 外部系统的记录不采用hibernate直接使用JDBC;似乎第一种好点,大家的意见呢?