用途

保存一个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. 线程 ManualResetEvent 类

    Reset(): 当一个线程开始一个活动(此活动必须完成后,其他线程才能开始)时, 它调用 Reset 以将 ManualResetEvent 置于非终止状态.此线程可被视为控制 ManualRese ...

  2. css属性选择器应用

    代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...

  3. sencha touch 模仿tabpanel导航栏TabBar的实现代码

    这篇文章介绍了sencha touch 模仿tabpanel导航栏TabBar的实例代码,有需要的朋友可以参考一下 基于sencha touch 2.2所写 效果图: 代码: /* *模仿tabpan ...

  4. bzoj 2705 数学 欧拉函数

    首先因为N很大,我们几乎不能筛任何东西 那么考虑设s(p)为 gcd(i,n)=p 的个数,显然p|n的时候才有意义 因为i与n的gcd肯定是n的因数,所以那么可得ans=Σ(p*s(p)) 那么对于 ...

  5. [FZU2254]英语考试

    在过三个礼拜,YellowStar有一场专业英语考试,因此它必须着手开始复习. 这天,YellowStar准备了n个需要背的单词,每个单词的长度均为m. YellowStar准备采用联想记忆法来背诵这 ...

  6. Swift : missing argument label 'xxx' in call

    http://stackoverflow.com/questions/24050844/swift-missing-argument-label-xxx-in-call up vote37down v ...

  7. GCC编译安装

    1. 安装静态库,如果没有安装静态库,后面编译不会通过: yum install glibc-static libstdc++-static -y 2. 下载GCCxxx.tat.gz: wget h ...

  8. c++文件流写入到execl中

    #include <iostream> #include <fstream> #include <string> using namespace std; int ...

  9. mysql分页查询语法

    一.limit语法 SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset LIMIT 子句可以被用于强制 SELECT 语句返回指 ...

  10. python 复习 4-1 函数、参数、返回值、递归

    函数 完成特定功能的一个语句组,这个语句组可以作为一个单位使用,并且给它组语句取一个名子,即函数名 可以通过函数名在程序不同地方多次执行,即函数调用 预定义函数(可以直接使用) 自定义函数(自编写的) ...