问题标签 [grails-3.0]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oracle - Grails 3 Oracle AssertionFailure on Save 未启用 getGeneratedKeys 支持
问题:错误 500:内部服务器错误
配置
- 环境:发展
- 应用简介:网络
- 应用版本:0.1
- Grails 版本:3.0.1
- Groovy 版本:2.4.3
- JVM 版本:1.8.0_45(64 位)
- 重新加载活动:true
可用控制器:
- 电话簿.ListingController
操作系统:Windows 7 数据库:Oracle 11g R2 企业版(11.2.0.4 64 位)
调试输出包含:
重现问题:
- C:\Dev> grails 创建应用电话簿
- C:\Dev> cd 电话簿
编辑:build.gradle
注意:Oracle 客户端 ojdbc6.jar 在上面指定的坐标处添加到本地 Maven 存储库。
编辑:grails-app\conf\application.yml
C:\Dev\phonebook> grails create-domain-class phonebook.listing 编辑:grails-app\domain\phonebook\Listing.groovy
下面确认应用程序连接数据库并成功创建表:
架构中还创建了两个序列:
注意:这些肯定是由于我多次尝试修改域类中的映射属性以生成 ID 的结果而创建的。
嵌入式 Tomcat 服务器在http://localhost:8080/上运行后的操作 Internet Explorer:http://localhost:8080/ 单击链接:可用控制器 > phonebook.ListingController 单击:新建列表完成表单并单击:创建结果:上述 Grails 异常
研究和故障排除活动:
- 不存在的问题只是 Oracle 到 H2/HSQL 文件/内存数据库的变化
- 发现 hibernate.jdbc.use_get_generated_keys 设置,但通过在 application.yml 配置文件中设置 true 未能成功解决问题
- 在 grails-app/conf/DataSource.groovy 中找到了对设置的多个引用,但这是使用 application.yml 的 Grails 3
- 尝试在域类中使用生成器映射 ID 列的多个属性
- 在涵盖此主题的 Grails 3 文档中几乎没有发现任何信息
- Hibernate 文档涵盖了配置设置和 ID 生成器,但不提供该信息的 Grails / Groovy 应用程序
- Hibernate 文档指出,不显式设置 hibernate.jdbc.use_get_generated_keys 会导致它由 jdbc 连接数据库元数据自动设置
我试图通过 grails-app\conf\application.yml 中的以下部分来解决问题:
我怀疑该解决方案涉及 grails-app\conf\application.yml 中的特定设置,但尚未发现配置设置的正确组合。
grails - 对 GORM 中的可空字段进行排序
我试图弄清楚如何对 Grails 3 中的多个字段进行排序,其中一个字段可能为空,也可能不为空。我有这本书域:
标题为“The Peripheral”的书籍有一个sortTitle
“Peripheral, The”,否则sortTitle
将为空。sortTitle
我想要按是否存在排序的书籍,否则按title
.
我发现了其他类似的 SO 问题,但没有一个带有可为空字段的问题。有没有人碰巧在正确的方向上有一些指示?
grails - 将 Grails 3.0 插件域类定义为可扩展的
在开发 Grails 3.0 插件时:
- 应该如何定义域,以便应用程序可以使用插件对其进行扩展?
- 插件如何引用扩展类的实例?
例如,安全插件可以具有以下类:
用户.groovy
安全服务.groovy
该应用程序将具有一个域,例如:
grails-app/domain/com/example/bookstore/BookstoreUser.groovy
macos - OSX 上的 grails 3.0.1 gradle 异常
我刚刚开始使用最新的 GVM 在 OSX Yosemite 上安装 Grails 3.0.1。一个简单的创建应用程序正在生成一个 grails 应用程序,在该应用程序下 grails CLI 异常。这是我的步骤:
感觉有些东西没有正确安装。有任何想法吗?
堆栈跟踪:
javascript - 圣杯 3.0由于弃用而导致的 Ajax 调用替换
Grails 3.0.0 M1 声明 g:remoteLink 已被弃用,在 3.0.1 中它不再存在于 g: 命名空间中。文档中没有任何内容建议替换此功能。有人会回复 GSP 文件的替换选项以使用 Prototype JavaScript 库执行控制器操作吗?如果可能的话,是否会提供一种利用 Groovy 自定义标签库来直接消除 GSP 文件中的嵌入代码的解决方案?
hibernate - 在 Grails 3.0.1 中使用 Hibernate Annotations 进行映射
如何在 Grails 3.0.1 中使用注释映射域类?
以下步骤对我不起作用。
步骤 1。我用 Grails 3.0.1 ( grails create-app books
) 创建了一个新应用程序。
步骤 2。如使用 Hibernate Annotations 进行映射中所述,我在src/main/com/books/Book.groovy
(也尝试src/main/groovy/com/books/Book.groovy
过)中创建了一个新类
步骤 3。然后通过将相关条目添加到文件中,向 Hibernate sessionFactory 注册该类,grails-app/conf/hibernate/hibernate.cfg.xml
如下所示:
第 4 步。启动应用程序 ( grails run-app
) 后,“欢迎使用 Grails”页面 ( grails-app/views/index.gsp
) 报告零域类,这意味着映射没有生效:
- grails 运行应用程序
- 加载本地主机:8080
- 注意“ARTEFACTS”部分下的“Domains: 0”
Grails 3.0.1 中的相关异常
如果我查询上面的域类,会抛出以下异常
spring - Grails 3.0.2 无法解析控制器中的@Secured 注释
我尝试将我的应用程序从 Grails 2.4.4 升级到 Grails 3.0.2,但我遇到了 spring 注释问题。
我有控制器,像这样:
在depencencies
块中,build.gradle
我有这个:
当我尝试编译我的应用程序时,我收到错误消息。
grails - 将插件应用到我的应用程序时,如何将 Bintray 与 Grails 一起使用?
今天是我第一次遇到 Grails 3,我对来自 2.4 的框架的所有更改感到不知所措。这样的变化之一是插件的应用。我对 Bintray 的工作原理不是很熟悉,但我知道现在托管插件。所以如果我想将插件应用到我的应用程序中,我该怎么做?
特别是,我一直打算将Grails GORM REST 客户端插件添加到项目中。我不确定 Grails 2 插件是否与 Grails 3 应用程序兼容,但我在 Bintray 中搜索并找到了GORM REST client 的类似条目。还没有它的文档,所以我不确定我在看那个页面的确切内容。
mongodb - 在grails 3中使用多个数据源时如何避免将mongodb作为默认数据源
我的 application.groovy 设置为:
但现在似乎我所有域的数据源都指向 mongodb,因此我无法再查询链接到 mssql db 的域。我怎样才能避免这种情况?
第二个问题虽然不是那么重要:mongodb 插件文档说要将连接配置放在环境中-> 开发中-我想知道为什么我们不能将它放在 dataSources 中,所以它更整洁(在域中我可以指向 dataSource) . 我试图在 dataSources 中移动配置,但没有成功!
在调试器中,如果我运行 MyDomain.list() 并且我得到
任何帮助将不胜感激,在此先感谢 Dee
grails - 为什么 grails.gorm.autoFlush 设置为 true 不起作用?
考虑以下代码:
使用以下配置(部分配置),application.yml:
为什么user2.save(failOnError: false)
不返回false
,因为它没有被保存到数据库中?
运行输出grails test-app *UserSpec
::
businesssoftware.UserSpec > email 应该是唯一的 FAILED org.spockframework.runtime.ConditionNotSatisfiedError at UserSpec.groovy:40
当我用它替换user.save()
时,user.save(flush: true)
它确实有效。
但是https://grails.github.io/grails-doc/latest/guide/conf.html的文档第 4.1.3 节声称:
grails.gorm.autoFlush - 如果设置为 true,则导致合并、保存和删除方法刷新会话,而不需要使用 save(flush: true) 显式刷新。
作为参考,这是以下输出grails --version
:
| Grails 版本:3.0.2
| Groovy 版本:2.4.3
| JVM版本:1.8.0_40
这正是我正在做的,我在这里错过了什么?