问题标签 [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.

0 投票
4 回答
1808 浏览

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 中的特定设置,但尚未发现配置设置的正确组合。

0 投票
3 回答
259 浏览

grails - 对 GORM 中的可空字段进行排序

我试图弄清楚如何对 Grails 3 中的多个字段进行排序,其中一个字段可能为空,也可能不为空。我有这本书域:

标题为“The Peripheral”的书籍有一个sortTitle“Peripheral, The”,否则sortTitle将为空。sortTitle我想要按是否存在排序的书籍,否则按title.

我发现了其他类似的 SO 问题,但没有一个带有可为空字段的问题。有没有人碰巧在正确的方向上有一些指示?

0 投票
1 回答
547 浏览

grails - 将 Grails 3.0 插件域类定义为可扩展的

在开发 Grails 3.0 插件时:

  1. 应该如何定义域,以便应用程序可以使用插件对其进行扩展?
  2. 插件如何引用扩展类的实例?

例如,安全插件可以具有以下类:

用户.groovy

安全服务.groovy

该应用程序将具有一个域,例如:

grails-app/domain/com/example/bookstore/BookstoreUser.groovy

其余代码位于:
https ://github.com/center-key/bookstore

0 投票
0 回答
204 浏览

macos - OSX 上的 grails 3.0.1 gradle 异常

我刚刚开始使用最新的 GVM 在 OSX Yosemite 上安装 Grails 3.0.1。一个简单的创建应用程序正在生成一个 grails 应用程序,在该应用程序下 grails CLI 异常。这是我的步骤:

感觉有些东西没有正确安装。有任何想法吗?

堆栈跟踪:

0 投票
1 回答
2811 浏览

javascript - 圣杯 3.0由于弃用而导致的 Ajax 调用替换

Grails 3.0.0 M1 声明 g:remoteLink 已被弃用,在 3.0.1 中它不再存在于 g: 命名空间中。文档中没有任何内容建议替换此功能。有人会回复 GSP 文件的替换选项以使用 Prototype JavaScript 库执行控制器操作吗?如果可能的话,是否会提供一种利用 Groovy 自定义标签库来直接消除 GSP 文件中的嵌入代码的解决方案?

0 投票
1 回答
1166 浏览

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 中的相关异常

如果我查询上面的域类,会抛出以下异常

0 投票
1 回答
1053 浏览

spring - Grails 3.0.2 无法解析控制器中的@Secured 注释

我尝试将我的应用程序从 Grails 2.4.4 升级到 Grails 3.0.2,但我遇到了 spring 注释问题。

我有控制器,像这样:

depencencies块中,build.gradle我有这个:

当我尝试编译我的应用程序时,我收到错误消息。

0 投票
1 回答
135 浏览

grails - 将插件应用到我的应用程序时,如何将 Bintray 与 Grails 一起使用?

今天是我第一次遇到 Grails 3,我对来自 2.4 的框架的所有更改感到不知所措。这样的变化之一是插件的应用。我对 Bintray 的工作原理不是很熟悉,但我知道现在托管插件。所以如果我想将插件应用到我的应用程序中,我该怎么做?

特别是,我一直打算将Grails GORM REST 客户端插件添加到项目中。我不确定 Grails 2 插件是否与 Grails 3 应用程序兼容,但我在 Bintray 中搜索并找到了GORM REST client 的类似条目。还没有它的文档,所以我不确定我在看那个页面的确切内容。

0 投票
1 回答
102 浏览

mongodb - 在grails 3中使用多个数据源时如何避免将mongodb作为默认数据源

我的 application.groovy 设置为:

但现在似乎我所有域的数据源都指向 mongodb,因此我无法再查询链接到 mssql db 的域。我怎样才能避免这种情况?

第二个问题虽然不是那么重要:mongodb 插件文档说要将连接配置放在环境中-> 开发中-我想知道为什么我们不能将它放在 dataSources 中,所以它更整洁(在域中我可以指向 dataSource) . 我试图在 dataSources 中移动配置,但没有成功!

在调试器中,如果我运行 MyDomain.list() 并且我得到

任何帮助将不胜感激,在此先感谢 Dee

0 投票
1 回答
610 浏览

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

这正是我正在做的,我在这里错过了什么?