GAILS里面的SAVE方法
用途
保存一个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(可选) - 若不需要验证则设为falseflush(可选) - 若设为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方法的更多相关文章
- Android Service生命周期 Service里面的onStartCommand()方法详解
在Demo上,Start一个Service之后,执行顺序:onCreate - > onStartCommand 然后关闭应用,会重新执行上面两步. 但是把代码拷贝到游戏工程发现,关闭游戏后,只 ...
- java 里面的 native 方法
第一篇: 今天花了两个小时把一份关于什么是Native Method的英文文章好好了读了一遍,以下是我依据原文的理解. 一. 什么是Native Method 简单地讲,一个Native Meth ...
- SimpleDateFomat里面的parse方法的使用
parse方法用于将字符串类型的日期/时间解析为Date类型.语法 public Date parse(参数) 要加上这句 throws ParseException或者:try{}catch(){} ...
- es6里面的arr方法
es6里面,关于arr的遍历以及查找,新增了很多的方法,对于不同的应用场景,运用合适的方法,可以达到事半功倍的效果: 一, arr.find():用于查找到符合条件的第一个成员,如果没有查找到的话,则 ...
- 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, ...
- 使用unittest里面的discover()方法组织测试用例
import osimport unittest directory = os.getcwd()# 测试用例的目录organize = unittest.defaultTestLoader.disco ...
- java.lang.String里面的trim()方法——删除首尾空格
结果如图 package com.softeasy.test1; public class String_trim { public static void main(String[] args) { ...
- datagrid 里面的formatter方法
A.{field:'station_staus',title:'工位状态',width:250,align:'center',formatter: function(value,row,index){ ...
- jquery里面的$.each()方法
$.each可以迭代jquery对象和数组 $(selector).each()专注于jquery对象的遍历
随机推荐
- nginx 静态文件支持跨域访问权限
一.原生态 location ^~ /repurchase-web/ { alias /var/www/webapps/repurchase-web/; } 二.支持跨 ...
- java.sql.Date和java.util.Date的不同和相互转换方式
一:前言 这是我在新的公司写的第一份博客吧,来了又一个星期了吧,但是在来的那几天我真的很迷茫的感觉这里是很不适合我的样子,而且我又是来实习的,我很不愿意啊,自己做的又是java web,最原始的ser ...
- Linux基础(1)
一.Linux的安装及相关配置 1.VMware Workstation安装CentOS7.0 图文版 详细步骤可以看连接:http://blog.csdn.net/alex_my/article/d ...
- 【poj1226-出现或反转后出现在每个串的最长公共子串】后缀数组
题意:求n个串的最长公共子串,子串出现在一个串中可以是它的反转串出现.总长<=10^4. 题解: 对于每个串,把反转串也连进去.二分长度,分组,判断每个组. #include<cstdio ...
- 【洛谷】P1648 看守 (数学)
题目链接 直接暴力搞\(O(n^2)\)显然是布星滴. 试想,若是一维,最远距离就是最大值减最小值. 现在推广到二维,因为有绝对值的存在,所以有四种情况 \((x1+y1) - (x2+y2), (x ...
- jQuery获取表格隐藏域与ajax请求数据结合显示详情
0.表格样式
- [Leetcode Week2]Sort Colors
Sort Colors题解 原创文章,拒绝转载 题目来源:https://leetcode.com/problems/sort-colors/description/ Description Give ...
- ios网络开发 网络状态检查
http://www.cnblogs.com/hanjun/archive/2012/12/01/2797622.html 网络连接中用到的类: 一.Reachability 1.添加 Reachab ...
- appium===报错Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install io.appium.settings without first uninstalling.的解决办法
要解决的问题:appium在androidV7.0系统上运行时报错 Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install io.a ...
- python 金字塔图形
a = 50 y = '*'*(a+1) p = ' ' while a: print(y) y = y[:a-1] y = p + y a = a - 1 for i in range(20): p ...