zoukankan      html  css  js  c++  java
  • Hibernate指定主键生成策略后,如何使用自定义ID保存对象

    //要求存放指定id,防止被hibernate自动生成的id覆盖
        basedao.getSession().replicate(dbotgcgridinfo, ReplicationMode.OVERWRITE); //指定id

    replicate()方法完全使用给定对象各个属性的值(包括标识id)来持久化给定的游离状态(Transient)的实体,很暴力啊,其中还需要指定存储模式(有四种保存策略供选择)

    replicate,通过复制来持久化当前已经脱离session的托管对象,这点上看有点像merge,但是当传入一个临时对象则会报错,而且replicate后的传入的那个对象将是持久的,这也是跟merge不同。
    通过参数ReplicationMode可以控制遇到相同记录时的行为。
    如果是 ReplicationMode.EXCEPTION,则在复制时如果有重复的行数据,则抛出异常。ReplicationMode.IGNORE则忽略 异常。
    ReplicationMode.OVERWRITE则会覆盖掉已有行数据。ReplicationMode.LATEST_VERSION则是在有重复时使用最新的版本进行控制。

    可以看出,replicate在执行复制的时候,比起merge还是有更多可控行为,ReplicationMode.LATEST_VERSION还可以保证并发修改时只更新最新的版本。

  • 相关阅读:
    mysql日期计算转换
    Mysql的DATE_FORMAT()日期格式转换
    JDBC连接池BoneCP
    JSP之三大指令
    JSP的三大指令 七大动作 九大对象
    JSP的语法
    orcale序列操作
    Orcale约束-------外键约束
    Orcale约束-------檢查約束
    Orcale约束-------主键约束
  • 原文地址:https://www.cnblogs.com/dyh004/p/12762835.html
Copyright © 2011-2022 走看看