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

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

  • 相关阅读:
    使用requests爬虫简单获取知乎问题信息
    slam介绍
    move_base 控制机器人(2)
    move_base 控制机器人(1)
    Linux 常用命令-touch
    Linux 常用命令-rmdir
    Linux 常用命令-rm
    Linux 常用命令-mkdir
    Linux 目录结构
    Linux 常用命令-pwd
  • 原文地址:https://www.cnblogs.com/yanggb/p/11268679.html
Copyright © 2011-2022 走看看