首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

grails 3.3:使用findOrSaveWhere的org.hibernate.TransientObjectException

Grails是一个基于Groovy编程语言的开源Web应用框架,它可以简化Java开发人员构建Web应用程序的过程。Grails框架使用了类似Ruby on Rails的概念和风格,提供了许多内置的特性和插件,使开发更加高效和简单。

在Grails 3.3版本中,使用findOrSaveWhere方法可能会导致org.hibernate.TransientObjectException异常。这个异常通常是由于未持久化(transient)的对象在进行查询操作时出现的。findOrSaveWhere方法是Grails中的动态Finder方法之一,用于根据给定的查询条件查找或创建一个实体对象。

当使用findOrSaveWhere方法时,如果条件匹配的实体对象不存在,框架会尝试创建一个新的实体对象并将其保存到数据库中。然而,由于新创建的对象在使用save()方法之前还没有持久化,所以当试图将其关联到其他持久化对象时,就会抛出TransientObjectException异常。

为了解决这个问题,可以考虑使用findOrCreateWhere方法代替findOrSaveWherefindOrCreateWhere方法具有相似的功能,但它会立即创建并持久化对象,避免了TransientObjectException异常的出现。

以下是一个示例代码片段,演示了如何使用findOrCreateWhere方法:

代码语言:txt
复制
def user = User.findOrCreateWhere(username: 'testuser') {
    // 在闭包中设置其他属性值
    firstName = 'John'
    lastName = 'Doe'
    // ...
}

在上面的示例中,如果用户名为'testuser'的用户存在,则将该用户赋值给user变量。否则,将创建一个新的User对象,并将其属性设置为指定的值。无论是从数据库中获取现有对象还是创建新的对象,最终都会将user变量指向一个持久化的User对象。

此外,如果使用Grails框架进行开发,推荐使用腾讯云的云托管MySQL数据库或云原生MySQL数据库作为后端数据库存储。腾讯云提供了可靠的、高性能的MySQL数据库服务,适用于各种规模的应用程序。详情请参考腾讯云MySQL数据库产品介绍:https://cloud.tencent.com/product/cdb

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android Studio3.3使用

背景 之前一篇文章,我们介绍了Android Studio3.3版本更新了那些功能。对我们开发人员来说,最显而易见变化自然就是开发工具变化。的确,这个版本升级之后,确实发现了不少变化。...我们通过接下来文章,来一起了解一下。 菜单栏 相比之前版本,菜单栏确实有不小变化 我们首先看一下之前版本工具栏 ? 再看现在菜单栏 ?...项目总体设置,可以设置SDK和JDK路径,Gradle和Android插件信息,项目的属性 其他 1.打开studio我们发现,在底部Log,event等窗口,没关系在这里 ?...很多常用功能都在这里。 2.在使用过程中,我惊喜发现在布局文件在改进,功能逐渐在完善。同时在xml文件当中,可以预览选择颜色,图片,背景等等,这个功能很实用。 ?...最后 确实可以发现,在3.3版本当中,无论界面,功能、人性化确实有很大改善,Google也旨在给开发者提供更加便捷,更快编译速度开发工具在努力。

1.1K20

apache-jmeter-3.3简单压力测试使用方法

转载自:https://www.cnblogs.com/ios9/p/7644951.html Jmeter是一款优秀开源测试工具, 是每个资深测试工程师,必须掌握测试工具,熟练使用Jmeter能大大提高工作效率...熟练使用Jmeter后, 能用Jmeter搞定事情,你就不会使用LoadRunner了。...Jmeter 介绍 Jmeter 是一款使用Java开发,开源免费,测试工具, 主要用来做功能测试和性能测试(压力测试/负载测试).而且用Jmeter 来测试 Restful API, 非常好用。...目前脚本编写有两种方式,一种是手动编写,一个字母一个字母敲,另外一种是利用工具录制生成,用工具打开网站,然后在网站上操作,工具会记录所有与服务器交互,自动生成脚本。...那么第一步就是通过打开录制测试脚本,然后在【线程组】中添加监听器,这里监听器就是统计报表。 我这里使用测试计划是提前用bodboy这个工具录制好。 ? ? ?

1.1K30
  • AMS1117-3.3V电源模块基本使用

    使用开发板过程中,我们往往会直接将USB线给开发板直接供电,这样操作起来非常方便,但是USB供电是5V,而一般芯片供电都是3.3V。这时就需要借助电源转换芯片了。...本文只是简单记录一个AMS1117基本使用方法。 1. 说明 嵌入式中AMS1117芯片是比较常见电源芯片种类,在很多开发板上都可以看到其身影。该芯片是一个正向稳压器。...由于stm32供电电压为3.3V,而USB口输出电压为5V,所以USB口输出电压是不能直接给芯片供电,中间需要一个电压转换芯片,将其转换成3.3V电压供给芯片。 2....实际使用 在实际使用电路中,会根据具体情况做一个滤波。下面是实际产品中两种电路方案 采用可调节AMS1117输出3.3V ? 直接输出3.3V电压 ? 5....总结 记录嵌入式开发板上常用AMS1117电源使用方法。细节虽小,但也值得去记录。九层之台,起于累土,千里之行,始于足下。

    8.7K20

    《Spring Boot极简教程》第8章 Spring Boot集成Groovy,Grails开发第8章 Spring Boot集成Groovy,Grails开发小结参考资料

    一系列强大特性,如基于sping依赖注入和各式各样插件,可以提供创建现代基于webapp所有需要东西。 我们使用Grails框架。.../ 数据库对象关系映射层使用GORM 我们使用 Grail 对象关系映射(Grails Object Relational Mapping,GORM)API 进行数据库层持久化工作。...使用grailscreate-domain-class命令创建领域类: $grails create-domain-class Project 执行这个命令,grails也会下gradle包。...我们可以使用 grails create-controller $DomainName : 创建DomainName对应空Controller grails generate-controller...Controller,以及对应视图view模板代码 下面我们就使用grails generate-all来创建Project,MilestoneController,以及视图。

    2.5K30

    Grails——赋能敏捷开发利器

    使用Grails,你可以从第一分钟就开始编写业务逻辑,无需考虑环境问题,避免重复造轮子,帮助你更快地开始。...也正因为通过Grails开发起步快,它特别适合需要快速试错初创企业,据说Linked-in最初版本就是用Grails开发。...当然,任何事情都有两面,要发挥Grails优势,你最好遵循Grails方式来进行开发,但是随着业务越来越复杂,它也会不可避免地出现敏捷性和性能下降情况,甚至到某个发展阶段要进行重构或重写,这是所有应用宿命...近年流行Spring Boot和Grails比较是,Spring Boot只包含Controller和API,没有UI,适合做微服务应用,Grails适合包含前端到后端全栈单体应用。...Spring曾经打造过类似Grails框架Spring Roo,但是流产了。 接触敏捷,改变了我对软件开发认知,接触Grails,再一次刷新了我认知。

    1.9K50

    Groovy on Grails 交流活动

    Groovy on Grails 一些文章翻译: 10 个对于 Grails 误解 通常情况下所谓 “新” 东西出现总是会伴随着许许多多流言与困惑,Grails 也不例外,许多人也许会因为这个而放弃继续使用它...“Grails 需要它特有的运行环境。” 不!你只需要使用grails war” 命令将应用打包成一个 WAR 文件,并将其部署到你最喜欢应用程序容器中即可。...当然,在开发过程你大可使用 Grails 绑定 Jetty 容器,这样完全可以做到开发零配置与无需容器重启动态载入功能。 “我经理是不会让我用 Grails ,因为它不是 Java。”...我本不打算发布幻灯片,但一些与会人士向我索取幻灯片,以便于能从不单单从技术角度,更能谈到发展和社区角度,去说服经理们对 Grails 使用。...非常高兴看到有那么多公司转而关注和使用Grails 来,但愿这个势头能维持下去!

    1.7K20

    8.2 Spring Boot集成Groovy、Grails开发小结参考资料

    一系列强大特性,如基于sping依赖注入和各式各样插件,可以提供创建现代基于webapp所有需要东西。 我们使用Grails框架。.../ 数据库对象关系映射层使用GORM 我们使用 Grail 对象关系映射(Grails Object Relational Mapping,GORM)API 进行数据库层持久化工作。...使用grailscreate-domain-class命令创建领域类: $grails create-domain-class Project 执行这个命令,grails也会下gradle包。...我们可以使用 grails create-controller $DomainName : 创建DomainName对应空Controller grails generate-controller...Controller,以及对应视图view模板代码 下面我们就使用grails generate-all来创建Project,MilestoneController,以及视图。

    2.3K30

    在你浏览器中构建和共享开发人员环境

    以下是基于预先安装了JDK7映像创建Grails环境示例: 从codenvy / jdk7 #下载Grails发行版,将其解压到/ home / user / $ GRAILS_HOME RUN wget...#设置env变量并将它们导出到.bashrc ENV GRAILS_HOME /home/user/grails-2.4.4 RUN echo'export GRAILS_HOME = $ GRAILS_HOME...添加了附加源代码后,你可以执行grails命令,打包应用程序并使用servlet容器部署工件(你可以下载Tomcat或使用我们基本映像中最常用servlet容器安装)。这很简单。...记住,我们答应了详细地阐述通过点击就能共享和使用开发者环境?这不仅仅是一个营销噱头。想象一下,你已经为你Grails项目构建自定义运行时系统,并希望其他人使用它。...如果要使用Gradle构建Android 应用程序并在模拟器中运行它,那么这一点很重要: 或使用GAE SDK运行和部署Java GAE项目: 或者使用MongoDB: - 你所需要只是一个浏览器

    4.5K90

    在 Eclipse 中配置 Grails 工程

    1、环境变量: 配置 GRAILS_HOME,注意一定要配置到 build.xml 所在文件夹: 2、Eclipse 装上 Groovy-Eclipse 插件,可以使用 link 方式。...5、工程属性 Java Build Path 中,选择 Libraries,选择 Add Variable,添加变量 GRAILS_HOME,并将其中所有文件夹内所有 jar 文件全部引入工程 (...可以使用 shift 键批量选中): 6、在工程属性 Java Compiler Building 中,选中 Enable project specific settings,在最下面的 Filtered...Resource 中,添加*.groovy 类型,类型之间使用逗号分隔,这样就能阻止编译器将 groovy 文件拷贝到 web-app/classes 文件夹中: 7、在 Window Preference...,如下配置,这样就可以在 Eclipse 中启用 Grails 控制命令了: 10、选择 Run、Open Run Dialog,如下配置,将 Grails 项目作为 Java 应用程序方式运行:

    1.1K40

    在您浏览器中构建和共享开发者环境

    这里有一个基于预安装JDK7镜像搭建Grails环境例子: FROM codenvy/jdk7 #下载Grails发行版,将其解压到/home/user/$GRAILS_HOME RUN wget....bashrc ENV GRAILS_HOME /home/user/grails-2.4.4 RUN echo'export GRAILS_HOME = $ GRAILS_HOME'>> /home/...添加了添加源代码后,您可以执行grails命令,打包您应用程序并使用servlet容器部署开发(您可以下载Tomcat,或使用我们最受欢迎预装servlet容器基本镜像)。就是那么简单。...您只需安装所选PaaS提供程序CLI或SDK,就可使用CLI命令部署应用程序。 Docker使Codenvy使用者更灵活,并且移除了关于使用工作性质和“内容”所有限制。缺少PHP模块?...想象一下,您已完成为您Grails项目构建自定义运行时,并希望其他人使用它。邀请别人到您工作区在这里不是一个好解决方案,尤其是当你并不认识他们时候。比如,你想与您博客受众分享。

    1.8K70

    从壹开始前后端分离【 .NET Core2.2 +Vue2.0 】框架之五 || Swagger使用 3.3 JWT权限验证

    正文 前言 关于JWT一共三篇 姊妹篇,内容分别从简单到复杂,一定要多看多想: 一、Swagger使用 3.3 JWT权限验证【修改】 二、解决JWT权限验证过期问题...书接上文,在前边两篇文章中,我们简单提到了接口文档神器Swagger, 《三 || Swagger使用 3.1》、 《四 || Swagger使用 3.2》, 两个文章中,也对常见几个问题做了简单讨论...它并不是只用来给接口传递数据工具,只要有层级结构数据都可以使用JSON来存储和表示。当然,JSON也是跨平台,不管是Win还是Linux,.NET还是Java,都可以使用它作为数据传输形式。...关于授权认证有两种方式,可以使用官方认证方式,也可以使用自定义中间件方法,具体请往下看,咱们先说说如何进行自定义认证。...这个时候我们发现,自定义中间件还是挺麻烦,但是你通过自己使用自定义授权中间件,不仅仅可以了解到中间件使用,还可以了解 netcore 到底是如何授权机制,但是我还是建议大家使用官方认证方案,毕竟他们考虑很全面的

    1.9K30

    简洁、高效、灵活:探索 Spring 同级别的编程框架

    Grails Grails是一个基于Groovy语言构建在Spring Boot之上强大面向JVMWeb应用框架。...Grails开箱即用内容包括: GORM :一个易于使用对象映射库,支持SQL,MongoDB,Neo4j等。 可以查看呈现HTML和JSON技术。...以上所有都通过Groovy语言强大功能和领域特定语言(DSL)广泛使用而变得易于使用Grails是构建在Springboot之上,它利用了Spring功能,例如依赖注入。...,支持 RxJava、GPars 等 Micronaut Micronaut由Grails框架创建者开发,并从多年来使用Spring、Spring Boot和Grails构建从单体到微服务实际应用程序中汲取灵感...、Spring Boot和Grails等框架缺点: 更快启动时间 降低内存占用 最少使用反射 最少使用代理 易于单元测试 不生成运行时字节码 这是通过在编译时预先计算框架基础结构来实现,这减少了应用程序工作所需运行时逻辑

    77250

    Java 近期新闻:JDK 2 进入Rampdown阶段一、JDK 24专家组成立、Apache NetBeans 22发布

    该目录于 2024 年 3 月发布,提供了一组独立 Java 函数,可以直接在用户应用程序中使用。选择 5.0.0 版本是为了与 Stream Applications 项目中函数保持一致。...同样,Quarkus 3.8 系列第四个维护版本 3.8.5(跳过了 3.8.0)发布,包含了文档改进和依赖项升级,并解决了一些重要问题,例如:在 Azure Functions HTTP 扩展中使用错误字符集会导致...Grails 作为 Object Computing 公司近期发布致社区公开信后续,Grails 基金会介绍了他们对 Grails Framework 未来发展计划。...Grails 社区指导委员会已成立,旨在为 Grails Framework 制定未来发展路径。这个新指导委员会将专注于三个主要目标: 定义 Grails 7 最小可行产品(MVP)。...Grails 基金会已经意识到,提高挑战和机遇透明度对于 Grails Framework 持续发展来说至关重要。因此,他们致力于改善这一领域沟通。

    14610

    我是如何成为一个JavaWeb开发者

    例如,你可以对桌面Web应用程序使用一套CSS规则,对移动应用程序使用另一套不同CSS规则。相同HTML,当渲染在浏览器上时,就有了两个完全不同外观。   ...不使用Java框架Javaweb开发也是可以。但是这样一来,你需要额外写很多代码来处理原本框架可以为你办到事情。这就是为什么开发Javaweb应用程序时,你通常会想要使用某一个框架。   ...Grails   Grails是建立在Spring之上快速应用程序开发框架。它不但拥有Spring所有内容,还借鉴了Groovy生产力优势。...我喜欢将Grails形容为用Groovy包装过Spring。关键一点要记住是,其背后依然是Spring。   Grails现在越来越受到企业欢迎。...Grails优势之一就是其出色社区支持。   SpringRoo   SpringRoo是一个纯Java框架,这似乎和Grails作用相同,不过它没有Groovy。

    96010

    创业公司技术选型原则

    一般来讲,普及程度高技术或工具,大都没有陡峭学习曲线。反过来就不一定了,比如我公司一直使用Grails,在国内普及程度就远低于所谓SSH或SSM。...前者好处在上面已有说明,至于后者,则说明项目在与时俱进,对于新出现使用场景大概率有较好支持。 即使有很好外部支持,也不意味着就应该放弃内部支持能力建立。...原因很简单,随着使用深入和业务发展,迟早会遇到自己公司特有的需求,而这个需求还没有广泛到从外部就可以直接获得很好地支持。此时,只能借助自己力量把坑填平,这样才不至于以往技术投资打水漂。...(注:Spring幕后公司Pivotal于2015年终止了对于Grails资助,但Grails目前依旧处于良好发展势头。前不久,Grails团队又推出了新一代开发框架Micronaut。)...对于规范开发,Grails同样也不落人后: Grails应用有很明显规范套路,参见上述原则5描述。

    2.1K20

    我是如何成为一个JavaWeb开发者

    例如,你可以对桌面Web应用程序使用一套CSS规则,对移动应用程序使用另一套不同CSS规则。相同HTML,当渲染在浏览器上时,就有了两个完全不同外观。   ...不使用Java框架Javaweb开发也是可以。但是这样一来,你需要额外写很多代码来处理原本框架可以为你办到事情。这就是为什么开发Javaweb应用程序时,你通常会想要使用某一个框架。   ...Grails   Grails是建立在Spring之上快速应用程序开发框架。它不但拥有Spring所有内容,还借鉴了Groovy生产力优势。...我喜欢将Grails形容为用Groovy包装过Spring。关键一点要记住是,其背后依然是Spring。   Grails现在越来越受到企业欢迎。...Grails优势之一就是其出色社区支持。   SpringRoo   SpringRoo是一个纯Java框架,这似乎和Grails作用相同,不过它没有Groovy。

    88210

    1. 了解Groovy

    而我们比较常见就是当脚本语言进行使用,毕竟它运行效率是没有java原生效率高。 而我,想学习和了解,也是将它当做脚本语言来进行使用了。...Java地方使用它 2.1 基于Groovy 生态系统 除了语言及其API,Groovy还诞生了一个富有成效项目生态系统,涉及各种主题,如web框架、桌面应用程序框架、并发、测试等。...在本节中,我们将重点介绍几个最知名和最成功项目,这些项目以Groovy为核心。 GrailsGrails是一个用于JVM开源、全栈、web应用程序框架。...受Grails启发,Griffon遵循“配置之上约定”范式,搭配直观MVC架构和命令行界面。 Geb:Geb是一个功能强大浏览器功能测试框架,可以让您快速轻松地在Groovy中编写功能测试。...要注意,每个基于Groovy工具都会有自己定义DSL语言,并不是完全Groovy脚本。 但是,Groovy使用场景比较多。我们如果想使用脚本编译自己一些工具。那么Groovy值得一试哦。

    1.4K20
    领券