这是一个hibernate中的错误:
a different object with the same identifier value was already associated with the session
grails程序开发过程中不知道动了哪里,导致了上述问题的产生,网上有的说使用merge,refresh,clear来解决问题,但,实际上都没有真正解决问题,要找到产生问题的原因才行,否则,一个地方使用merge但是其他地方又出现了问题,还有的地方改成merge之后,还出现了乐观锁问题!
最后,没有办法,使用了我的无敌必杀技,排除法,把我最近的版本文件一个一个的移除,最终找到了问题的出处,是Domain中使用了
static constraints = {
username(blank: false)
username(unique: 'gameZone')
gameZone(blank: false);
}
这段代码我是想约束username,gamezone成为唯一索引,注释掉,问题就没有了!
将此处代码改成其他相似的方法吧!
static mapping = {
id composite: ['username','gameZone']
}
static constraints = {
username(blank: false)
gameZone(blank: false);
//username(unique: 'gameZone');
}
这种问题在正常的Grails开发中不会出现,但是如果你自己想在src/groovy中加入自己的一些有趣的东西时,那里用到domain,就可能产生这个问题了!
==================
Grails还有人用吗,我用着挺好的!!希望Grails越来越好!
转载请加链接:http://qixin000.iteye.com/blog/2087404
分享到:
相关推荐
在当前的IT开发过程中,邮件发送功能是一个基础而广泛应用的功能,尤其在Web开发、在线服务以及日常的系统运维中。Grails作为一个全栈的、基于Groovy语言的Web应用开发框架,提供了一套较为简便的方式来集成和实现...
Grails是一个基于Groovy语言的开源框架,它简化了Java平台上的Web应用开发,提供了丰富的功能和高效的生产力。这本书的中文版帮助中国开发者更便捷地学习和掌握Grails。 Grails的核心理念是“Convention over ...
def m = [a:a]`,实际上键是字符串 "a",而非变量 a。若希望键为变量 a,可使用括号或 GString(GString 是 Groovy 中的动态字符串): ```groovy // 使用括号 m = [(a): 'a'] // 使用 GString m = ["$a": a] ...
Grails是一个基于Groovy语言的开源Web应用开发框架,它简化了Java平台上的开发过程,提供了丰富的功能和高效的开发体验。 在本书中,你将学习到: 1. **Grails简介**:了解Grails的基本概念,包括其设计理念、架构...
Grails 2.3.6是该框架的一个特定版本,发布于2014年,提供了许多改进和新特性,旨在优化开发流程。 1. **Groovy语言**: Grails的核心是Groovy语言,它是一种动态、类型安全的Java平台上的编程语言,语法简洁,具有...
Grails是一个基于Groovy语言的开源Web应用框架,它采用模型-视图-控制器(MVC)架构模式,极大地简化了Java平台上的Web应用开发。 在本书中,你会深入了解到以下关键知识点: 1. **Grails框架概述**:Grails是如何...
Grails是一个使用Groovy语言编写的高生产力的框架,其使用约定优于配置的理念,允许快速开发Web应用程序。RESTful是一种面向资源的架构风格,它的主要特征是使用HTTP方法来构建Web服务,使得客户端和服务器之间的...
Grails是一个基于Groovy语言的开源Web应用框架,它构建在Java平台上,利用了Spring、Hibernate等成熟技术,旨在提高开发效率,实现敏捷开发。Grails的核心特性包括元编程、领域特定语言(DSL)以及快速开发工具,...
Grails就是一个基于Groovy语言的开源Web应用框架,它以其简洁的语法和强大的功能受到开发者的欢迎。与此同时,Eclipse作为一款强大的Java集成开发环境(IDE),也提供了丰富的插件支持,帮助开发者更高效地进行...
3. **项目迭代开发**:通过一个具体案例,从零开始构建一个完整的Grails应用程序。书中详细介绍了从需求分析到功能实现的全过程,包括数据库设计、控制器编写、视图渲染等多个环节。 4. **进阶主题**:涉及更高级的...
Grails框架是建立在Groovy编程语言之上的一个完整的Web应用开发框架,它结合了Java平台的优势和动态语言的灵活性。Grails采用约定优于配置的原则,简化了开发流程,使开发者能够快速地构建高性能的Web应用程序。该...
Grails是一个基于Groovy语言的开源Web应用框架,它简化了Java开发流程,提供了丰富的功能和高效能。下面将详细阐述书中涉及的主要知识点: 1. **Grails框架基础**: - **Groovy语言**:Grails的基础是Groovy,一种...
在"第一个grails程序"中,我们通常会看到一个典型的Grails项目结构,包括以下几个关键部分: 1. **src/main/groovy**:这个目录存放所有Groovy源代码,包括应用程序的主要业务逻辑和控制器。 2. **src/main/...
Grails-MyBatis 用于 Grails 框架的 MyBatis 插件 基于原始 Grails-iBatis 插件:Brian Sanders ( ) Grails 插件主页: : 修改: 命名约定的一些变化 添加了对多个数据源的完全支持 Grails 2.0 插件重构 最小 ...
Java web development is notoriously tedious, but help is on the way: Grails. Using the principle of convention-over-configuration and the dynamic Groovy programming language, Grails takes the pain out...
Grails是一个开源的应用程序框架,基于Groovy语言并运行在Java平台上。它采用了“约定优于配置”的设计理念,简化了开发流程,使得开发者能够快速构建高性能的Web应用。Grails不仅支持传统的Web开发模式,还提供了对...
Grails是一个基于Groovy语言的开源Web应用框架,它简化了开发过程,尤其适合快速构建动态网站。在Eclipse中搭建Grails项目可能相对复杂,但通过以下步骤,即使是初学者也能顺利进行。 1. **Grails环境安装** - ...
// 声明一个变量名称为hello且值为HelloWorld的字符串类型变量。 def hello = "HelloWorld" // 在控制台输出This is my first groovy program. println "This is my first groovy program." // 在控制台输出hello...