用途

保存一个domain类的实例到数据库,需要的话会级联保存所有的子实例。

举例

def b = new Book(title:"The Shining")
b.save()

描述

save方法通知持久化上下文一个实例需要被修改或被保存。这个对象不会立即被持久化到数据库,除非使用了flush参数:

b.save(flush:true)

如果validation失败的话,save方法返回null并且实例不被保存,如果验证成功则返回对象本身。这允许你如下使用:

if( !b.save() ) {
b.errors.each {
println it
}
}

参数:

  • validate (可选) - 若不需要验证则设为false
  • flush (可选) - 若设为true则flush持久层,对象会马上保存到数据库
  • insert (可选) - 设为true时,会强迫Hibernate使用SQL INSERT语句,适合使用某些传统的数据库时(如AS/400),因为Hibernate不能检测到应该使用INSERT还是使用UPDATE语句
  • failOnError(可选)-设为true时,如果验证失败,save方法会抛出一个"grails.validation.ValidationException"异常,当然也可以通过在"grails-app/conf/Config.groovy"配置文件里面配置grails.gorm.failOnError参数来捕获本次异常;如果配置文件里面和方法里面都设置了参数,那么方法里面的参数会被优先起作用;更详细的配置属性和其他GORM配置选项,请参见GORM配置选项部分的用户指南。
 
 
 

GAILS里面的SAVE方法的更多相关文章

  1. Android Service生命周期 Service里面的onStartCommand()方法详解

    在Demo上,Start一个Service之后,执行顺序:onCreate - > onStartCommand 然后关闭应用,会重新执行上面两步. 但是把代码拷贝到游戏工程发现,关闭游戏后,只 ...

  2. java 里面的 native 方法

    第一篇: 今天花了两个小时把一份关于什么是Native Method的英文文章好好了读了一遍,以下是我依据原文的理解. 一. 什么是Native Method   简单地讲,一个Native Meth ...

  3. SimpleDateFomat里面的parse方法的使用

    parse方法用于将字符串类型的日期/时间解析为Date类型.语法 public Date parse(参数) 要加上这句 throws ParseException或者:try{}catch(){} ...

  4. es6里面的arr方法

    es6里面,关于arr的遍历以及查找,新增了很多的方法,对于不同的应用场景,运用合适的方法,可以达到事半功倍的效果: 一, arr.find():用于查找到符合条件的第一个成员,如果没有查找到的话,则 ...

  5. map里面的set方法

    let a=[1,2,3,4,1,2,3,4,1,4];let b= new Set(a);console.log(b) 还有add方法介绍下: let a=new Set();let b=[1,1, ...

  6. 使用unittest里面的discover()方法组织测试用例

    import osimport unittest directory = os.getcwd()# 测试用例的目录organize = unittest.defaultTestLoader.disco ...

  7. java.lang.String里面的trim()方法——删除首尾空格

    结果如图 package com.softeasy.test1; public class String_trim { public static void main(String[] args) { ...

  8. datagrid 里面的formatter方法

    A.{field:'station_staus',title:'工位状态',width:250,align:'center',formatter: function(value,row,index){ ...

  9. jquery里面的$.each()方法

    $.each可以迭代jquery对象和数组 $(selector).each()专注于jquery对象的遍历

随机推荐

  1. Google MapReduce中文版

    英文原文链接: Google Map Reduce 译文原文链接: Google MapReduce中文版 Google MapReduce中文版 译者: alex 摘要 MapReduce是一个编程 ...

  2. matlab求矩阵的鞍点

    function count = andian(a) v = max(a,[],2); count = 0; for i=1:length(v) [r2,c2] = find(a==v(i)); mi ...

  3. CSS盒模型之margin解析

    原文链接:http://www.jianshu.com/p/ccb534e9b588 文章分为: margin的使用 margin的叠压现象 margin的子债父偿现象 一.margin的使用 HTM ...

  4. nginx proxy_buffer_size 解决后端服务传输数据过多,其实是header过大的问题

    nginx proxy_buffer_size 解决后端服务传输数据过多,其实是header过大的问题 这三个参数已设置就搞定了额 proxy_buffer_size 64k; proxy_buffe ...

  5. Logistic函数

    Logistic函数(又称sigmoid函数)        Logistic函数或Logistic曲线是一种常见的S形函数,它是皮埃尔·弗朗索瓦·韦吕勒在1844或1845年在研究它与人口增长的关系 ...

  6. 【Mysql优化】key和index区别

    mysql的key和index多少有点令人迷惑,这实际上考察对数据库体系结构的了解的.    1).key 是数据库的物理结构,它包含两层意义,一是约束(偏重于约束和规范数据库的结构完整性),二是索引 ...

  7. 用 C# 代码如何实现让你的电脑关机,重启,注销,锁定,休眠,睡眠

    简介 本文讲述了用 C# 代码如何实现让你的电脑关机,重启,注销,锁定,休眠,睡眠. 如何实现 首先,使用 using 语句添加我们需要的命名空间: using System.Diagnostics; ...

  8. 培训补坑(day8:树上倍增+树链剖分)

    补坑补坑.. 其实挺不理解孙爷为什么把这两个东西放在一起讲..当时我学这一块数据结构都学了一周左右吧(超虚的) 也许孙爷以为我们是省队集训班... 好吧,虽然如此,我还是会认真写博客(保证初学者不会出 ...

  9. shell脚本之正则表达和文本处理(文本处理三剑客:1、grep 2、sed 3、awk)

    文本处理三剑客:1.grep  2.sed  3.awk 一.grep:(过滤) grep的使用,主要的参数有: -n  :显示行号:-o  :只显示匹配的内容-q  :静默模式,没有任何输出,得用e ...

  10. python mysql插入多条数据

    #!/usr/bin/env python # encoding: utf-8 import pymysql from config.config import * import datetime d ...