zoukankan      html  css  js  c++  java
  • hibernate手动设置的id无效的原因与解决方法

    在使用Hibernate的过程中,发现手动设置的id(主键)无效,Hibernate仍然会在保存(调用Hibernate提供的merge()方法)的时候自动生成一个随机的id。

    经过调试发现问题出在了Hibernate的实体映射配置文件(xml)上。

    <id name="id" type="string" column="id">
        <generator class="uuid.hex"/>
    </id>

    因为在id的映射字段上加上了id自动生成策略,因此Hibernate会忽略手动设置的id,而会根据这个id自动生成策略自动生成一个id。

    解决的方法很简单,把这个id自动生成策略屏蔽了就好了,简单粗暴。

    <id name="id" type="string" column="id">
        <!-- <generator class="uuid.hex"/> -->
    </id>

    这样就解决了问题,嘿嘿。

    要注意的是,这样就要在每次保存的时候手动生成并设置id,只是我这里的id都是另外的系统推送过来的,完美解决。

    "我左手里是过目不忘的的萤火,右手里是十年一个漫长的忘记。"

  • 相关阅读:
    桶排序
    基数排序
    计数排序
    归并排序
    快速排序
    优先级队列-堆实现
    堆排序
    红黑树
    【转】二叉树
    ubuntu 16.04 mysql 相关
  • 原文地址:https://www.cnblogs.com/yanggb/p/11268679.html
Copyright © 2011-2022 走看看