zoukankan      html  css  js  c++  java
  • 【hibernate merge】session1.merge(T entity)方法的含义和update方法的区别

    注意: 

    MERGE语句是SQL语句的一种。在SQL ServerOracle数据库中可用,MySQL、PostgreSQL中不可用。

    1》session1.merge(T entity) 合并实体的方法。

    2》merge的作用是:新new一个对象,如果该对象设置了ID,则这个对象就当作游离态处理:

                                          当ID在数据库中不能找到时,用update的话肯定会报异常,然而用merge的话,就会insert。

                                          当ID在数据库中能找到的时候,update与merge的执行效果都是更新数据,发出update语句;

                                      如果没有设置ID的话,则这个对象就当作瞬态处理:

                                      用update的话,由于没有ID,所以会报异常,merge此时则会保存数据,根据ID生产策略生成一条数据;

    3》作用类似与saveOrUpdate()方法,作用基本一致,不过略有区别。

    4》与saveOrUpdate()方法的区别是:

          1.saveOrUpdate()是完全更新数据

          2.merge()方法在更新数据的时候,例如数据库中本条数据的name这个字段是‘李四’,而新的要合并的数据中name字段是null,那数据库中name字段的数据是不被替换的,依旧是'李四',而其他字段被替换。

  • 相关阅读:
    Nginx+Tomcat 集群部署
    Android5.0新特性——CardView 使用
    Android-SQLite版本问题
    Android UI ListView的使用
    Android
    Android四大组件之Activity一(组件的概念、Intent、监听)
    JAVA内部类使用
    Android 第一个程序 及 环境搭配
    Android-AsyncTask异步任务(获取手机联系人)
    Android-Application
  • 原文地址:https://www.cnblogs.com/sxdcgaq8080/p/5694620.html
Copyright © 2011-2022 走看看