`

grails domain里面beforeinsert无效

 
阅读更多

今天新建一个grails项目,执行保存的时候总是出错 

class Manipulator {
	String name;
	String passwd;
	String createTime;
	String updateTime;
    int isDeleted=0;//0没有删除,1,已删除
	
	static constraints = {
		name unique: true 
    }
	
	def beforeInsert = {
		createTime = utils.DateUtil.getStrDate(null, null);
	}
	
	def beforeUpdate = {
		updateTime = utils.DateUtil.getStrDate(null, null);
	}
}

 

不知道是为什么, beforinsert始终无法工作,

后来在执行save之前给createTime和updateTime赋值,可以保存进去,

知道了不是数据库的问题,一定是设置的问题,

 

查看config.groovy等配置文件之后还是没有发现问题。

 

后来把代码该了一下 

class Manipulator {
	String name;
	String passwd;
	String createTime;
	String updateTime;
    int isDeleted=0;//0没有删除,1,已删除
	
	static constraints = {
		name unique: true 
		createTime blank:true ,nullable:true;
		updateTime blank:true ,nullable:true;
    }
	
	def beforeInsert = {
		createTime = utils.DateUtil.getStrDate(null, null);
	}
	
	def beforeUpdate = {
		updateTime = utils.DateUtil.getStrDate(null, null);
	}
}

 

添加了 约束,可以为空,可以为null,只个时候可以保存成功了。

 

这样设计有点不合理啊,不过没办法。设计是这样的。

 

这里面也体现一个问题。就是domain里面的约束是代码级别的,不涉及到数据库,

所有的约束检查都是在程序执行的时候完成的,这个时间是在插入数据库之前,也就是说这个时候数据库约束还没有起作用,

 

以后要注意domain里的约束和数据里面的约束的区别了 

 

mark 一下 

 

===============================================================================

 

分享到:
评论

相关推荐

    Grails Grails Grails

    Grails Grails Grails Grails Grails

    Grails权威指南 Grails权威指南

    Grails权威指南Grails权威指南Grails权威指南Grails权威指南Grails权威指南Grails权威指南

    Grails1.1中文文档

    当今的Java Web开发技术显得...所有这些都非常易于使用,这得益于 Groovy 语言的强大以及 Domain Specific Languages (DSLs) 的广泛使用。 本文档将带你从Grails入门开始,最终能够使用Grails框架建设Web应用程序。

    Eclipse下搭建Grails项目

    Grails项目的应用越来越多,而对于初学者来说,在Eclipse下搭建Grails项目是一个难题,这个文档将教会你如何搭建Grails项目,希望对你有所帮助。

    Grails入门指南 -- 针对grails1.0.4更新

    Grails入门指南中文pdf -- 针对grails1.0.4更新,附加idea8 开发grails的流程

    grails+Xfire webservice

    grails+Xfire webservice

    Grails 教程

    如今的Java Web开发对于需求来说已经变得...借助于功能强大的Groovy动态语言和领域特定语言(Domain Specific Language,DSL),以上那些特性变得非常易用。 这篇文档会向你介绍如何使用Grails框架来搭建Web应用程序。

    grails

    grails-2.1.zip.001

    Grails权威指南

    第4章 grails中的域(domain)  4.1 简化的orm和grails对象关系映射(gorm)  4.2 gorm基础  4.3 设置属性可选  4.4 gorm中的关系  4.5 执行crud操作  4.5.1 创建书签  4.5.2 读取书签...

    TsuyoshiYamamoto_Acegi On Grails

    What’s Acegi Security ... using Grails Domain class  Beans to support Acegi on Grails  Grails Acegi Plugin  Setting up Acegi Plugin  Secure your Ajax  Secure your Service

    Groovy轻松入门——Grails实战基础篇

    在学习任何东西之前,最重要的是培养兴趣,Groovy世界最耀眼的技术之一--Grails相信大家早已耳闻,我将通过Grails实战系列文章 向您展现Grails的迷人风采,使您感受到Grails的魅力,以至疯狂地爱上Grails,并坠入...

    grails简介的ppt

    一个ppt,里面简单介绍了一下grails,适合入门,可以下载来看看。

    grails开发环境配置及应用开发

    详细讲解grails开发环境配置。 详细讲解grails连接mysql数据库,crud开发

    Grails中文参考手册

    Grails 中文 参考手册

    grails 1.0.4

    Grails专为下一代JavaWeb应用程序而设计的框架,其借助于Groovy动态语言,使Web开发变得简单而方便。Grails尽量为更多现有的Java项目创建一个全面的框架(不仅局限于视图处理),这和当前一些Java框架提供给用户的一...

    grails3.2.8-01

    grails3.2.8 part1

    grails入门经典

    grails grails入门经典 grails入门 grails例子 grails资料 通过自学一点点积累起来的,相信对你有帮助的。

    Grails1.3.7参考手册

    Grails 1.3.7英文版官方参考手册,学习Grails的权威指南

    grails-2.3.6.zip

    grails-2.3.6

Global site tag (gtag.js) - Google Analytics