zoukankan      html  css  js  c++  java
  • save(),saveorupdate()还有marqe()

        所有这三个方法,也就是save()、saveOrUpdate()和persist()都是用于将对象保存到数据库中的方法,但其中有些细微的差别。例如,save()只能INSERT记录,但是saveOrUpdate()可以进行记录的INSERT和UPDATE。还有,save()的返回值是一个Serializable对象,而persist()方法返回值为void。

    save与saveOrUpdate的区别

    •     save通过INSERT语句将对象保存到数据库,产生一个新的ID,将数据插入到数据库,并返回一个Serializable对象。
    •     saveOrUpdate能根据对象是否已存在,而执行插入或更新

    显然saveOrUpdate更加灵活,但它需要额外判断对象是否已存在。

    save与persist的区别

      1. 返回类型不同:save返回Serializable对象,而persist返回void
      2. ID赋值时机不同:二者同样用于将transient实例持久化,但persist不保证ID值立即赋给持久化实例,可能会在flush的时候给ID赋值。
      3. transaction外的行为不同:如果在transaction之外调用,persist保证会立即执行INSERT语句;而save则不保证(save返回一个identifier,如果必须执行INSERT来获取该identifier,则就会立即执行INSERT,而不论是在transaction之内或之外)
      4. 使用场景:由于上述第三点区别,persist方法适用于被扩展的Session上下文的长期运行的会话中(useful in long-running conversations with an extended Session context);而save则不适用。
  • 相关阅读:
    JavaScript学习笔记(七) 跨域问题
    JavaScript学习笔记(六) 异步问题
    JavaScript学习笔记(五) jQuery
    查看Wii的系统版本信息
    运行你的应用
    创建一个Android工程
    构建你的第一个App
    Android Studio开发环境部署
    酷派D530刷机指引
    酷派D530刷机指引之民间ROM
  • 原文地址:https://www.cnblogs.com/myhome-1/p/5830437.html
Copyright © 2011-2022 走看看