<thead id="dlkbl"></thead>
    <sub id="dlkbl"><del id="dlkbl"></del></sub>

  • <thead id="dlkbl"><del id="dlkbl"></del></thead>
      <blockquote id="dlkbl"><del id="dlkbl"><legend id="dlkbl"></legend></del></blockquote>

      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都是另外的系统推送过来的,完美解决。

       

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

      相关文章
      相关标签/搜索
      4887王中王鉄算盘开奖结