`
seanwon
  • 浏览: 63706 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

GRAILS ID GENERATOR 可以自己设置ID字段的值

阅读更多
这个bug已经在1.1正式版本修复,可以用insert:true来指定是新建对象。

必须在mapping里面指定:

id generator:'assigned', params:[type:'Integer']

不然会提示,没有找到此ID的对象。

有个问题,如果version指定为false,即使指定assigned,
在创建的时候,依然会导致update而不是save。

我解决的方式是用hql的insert来实现的,而没有用.save方法。

如果其他人有更好的方案,请提示,谢谢!

来看看官方给的解释:
Many legacy database files have composite keys and they rarely have a version number or timestamp. The GORM Mapping DSL is fantastic but the Composite ID has an issue when creating a new row. The domain.save() operation causes an SQL update. The problem arises when the version facility is turned off (via version:false) and the Hibernate generator is set to 'assigned' (id generator:'assigned') -- Hibernate is not able to sense that an insert is required.
This plugin adds a method called insert to all domain classes. It is up to the developer to predicate the call to save() or insert().

Note that Grails 1.0.2 provides a more elegant solution. The domain.save() method now accepts domain.save(insert:true) to explicitly predicate the insert operation. So use this plug-in only for Grails applications that are below version 1.0.2.

但是问题是我在1.1beta3版本,尝试使用save(insert:true)依然不起作用。
1.0.4版本是生效的。
分享到:
评论

相关推荐

    Grails Grails Grails

    Grails Grails Grails Grails Grails

    Grails权威指南 Grails权威指南

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

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

     1,设置环境变量GRAILS_HOME(注意大写),过程与“设置环境变量GROOVY_HOME”相似  2,将%GRAILS_HOME%\bin添加到环境变量path中,过程与“将GROOVY_HOME目录下的bin追加到环境变量path中”相似  (如果只想进行...

    学习grails框架时候自己写的例子

    学习Grails框架时候自己写的例子,自己分页,修改sql查询,带数据库,入门极好的例子。

    Grails Application Generator-开源

    对遗留数据库进行反向工程到Grails域模型。 将提供一个Java GUI,从中可以选择数据库表并将其映射到grails域对象。

    grails

    grails-2.1.zip.001

    Grails1.1中文文档

    Grails1.1中文文档

    grails+Xfire webservice

    grails+Xfire webservice

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

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

    Eclipse下搭建Grails项目

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

    Grails权威指南

    第1章 寻找grails之旅  1.1 java的困惑  1.2 webc2.0时代  1.3 java的力量  1.4 什么是grails  1.4.1 与java集成  1.4.2 简单而强大  1.4.3 吸取的经验教训  1.5 使用grails的原因 ...

    grails login

    grails 用户登录的例子,必须登录后才可以查看信息,并且只有admin用户才可以创建用户,此例子,只要将grails 的环境配好,就可以用了,用的是自带的数据库,如果需要mysql 可以更改。

    Grails中文参考手册

    Grails 中文 参考手册

    grails学习

    grails学习心得 技术经典分享 也许可以帮助你

    grails-core源码

    grails核心源码,版本2.2.2,可以给对grails开发感兴趣的朋友做学习参考。

    grails3.2.8-01

    grails3.2.8 part1

    grails-2.3.6.zip

    grails-2.3.6

    grails实现分页技术

    供初学者使用,在grails中只有list(自动生成)中有分页实现,而自己新增的页面中需自己实现分页,该文档中描述了如何实现分页以及注意点

    grails入门经典

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

    grails框架

    实际上,一个grails插件和一个grails应用基本是完全一样的,同样可以使用grails run-app命令来运行。区别仅在于一个插件的根目录下需要提供一个fooplugin.groovy文件,提供插件的一些描述信息。

Global site tag (gtag.js) - Google Analytics