问题标签 [grails-3.3]

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 投票
2 回答
48 浏览

rest - Grails REST POST 失败,元素具有备用标识符列

这是我正在从事的一个真实项目的简化示例。我有以下域。

很简单,一个电话,一个电话类型。

PhoneType 使用 cn 的备用 id 列

我生成默认的 REST 控制器grails generate-all PhoneType PhoneNumber

我正在使用一个休息档案项目。我可以创建一个 PhoneType 就好了。

问题是我无法使用 REST 创建具有此 PhoneType 的 PhoneNumber。如果我不指定备用 ID(使用默认的 'id' 列),我可以。

虽然这有效

我想知道这是否应该工作并且是框架中的一个错误,或者是否需要一些额外的配置才能在没有“id”作为标识符的 grails 中使用 REST 资源。

在此先感谢您的任何指点。

0 投票
1 回答
192 浏览

grails - 具有 3 个或更多数据源的 GORM 集成测试

当您尝试与超过 2 个数据源交互时,我的集成测试MultipleDbsITSpec失败并出现错误“org.hibernate.HibernateException: No Session found for current thread” 。运行应用程序时不会出现此问题,请参阅BootStrap.groovy

在此处输入图像描述

设置它的正确方法是什么?

我想避免我发现需要用withNewTransaction闭包包装 GORM 查询的解决方法。这会破坏代码的可读性。

源代码

环境

数据库配置

失败的测试

通过测试

0 投票
0 回答
142 浏览

grails - 使用 Tomcat 8 部署时无法解析名称为“alive”的视图

当部署到我们的生产服务器(AWS Linux、Tomcat 8、Grails 3.3.3、Java 1.8)时,应用程序找不到视图。在本地运行时(grails prod run-app、grails run-app、Java 1.8)没有问题。

查看(alive.gson)

网址映射

网址

http://localhost:8080/cf/apistatus(正常工作)
https://my.domain.com/cf/apistatus(抛出异常 - javax.servlet.ServletException:无法解析 servlet 中名称为“alive”的视图名称为“grailsDispatcherServlet”)

更新

我已经根据这个问题配置了应用程序,但没有成功

0 投票
1 回答
355 浏览

grails - 如何将数据永久保存在grails中?

每次我按调试项目时,我的数据库中的数据都消失了。但如果我只按运行项目,它仍然可以。有人可以告诉我我的代码有什么问题吗?我调试或运行项目时没有出现错误。

这是控制器

这是在 application.yml 中,我使用了 8090 端口

这是在 build.gradle 里面,我已经把 jdbc 放到了 postgresql

0 投票
0 回答
162 浏览

spring - 如何将 Spring AOP 与 Grails 3 集成

我被困在尝试在 grails 3 中集成用于登录的 spring aop。我可以在服务类或使用 log.info 的控制器中使用日志记录,我想在方面类中使用它。

这是我的 application.yml,我在其中设置了 spring aop 的配置。

0 投票
2 回答
585 浏览

grails - 如何在 Grails 3 中访问普通 groovy 类中的数据源?

我正在尝试从普通的 Groovy 类(无服务)中运行 sql-code。在 Grails 2 中,我可以通过以下方式访问数据源:

迁移到 Grails 3.3.8 后,代码不再工作。Grails 3.3.8 中的正确方法是什么?

0 投票
1 回答
241 浏览

jpa - 在grails 3数据服务中查询与JPA QL的向后关联,对象上的MissingMethodException executeQuery?

在收集作者及其书籍的数据库中,我们将书籍添加AuthorBook实例。

但是,Author可能有尚未添加到数据库的书籍。Author这就是为什么我们有一个外部理智计数器,告诉我们一个人实际出版了多少本书。如果numberOfKnownBooks等于Book数据库中的实例数,那么我们认为我们有一个Author完整的参考书目。

数据模型

获取所有Authors参考书目完整的 SQL 查询将在 SQL 中这样编写:

这里的困难在于连接指向相反的方向,并且正常示例通常显示如何创建查询以获取Books与 连接Authors,而不是相反。

我在 stackoverflow 中找到了一些文章,解释了如何在普通 JPQL 中执行类似的操作(减去 group by ... 有复杂性)@Query但是在 GORM 6.1+ 中的数据服务中的注释所期望的 DSL 中执行此操作,我得到一个异常,发生在 AST 生成的代码的地牢中,说它executeQueryjava.lang.Object. 这是一个合理的投诉,但我不知道为什么会这样。不幸的是,无法逐步调试此代码。

这是我的数据服务:

更新:根据 jeff 的说明删除了无用的注释 @GrailsCompileStatic 和 @Transactional

完整解决方案,使用正确的 JPQL 查询:

0 投票
1 回答
173 浏览

grails - Postgresql 和 Grails 3.3.8 的默认字符串大小似乎是 20 个字符

我的字符串列默认为 20 个字符。所有文档都建议默认值为 255。如何在不更改每一列的情况下设置它。我正在使用 Grails 3.3.8 和 Postgresql 9.3。

创建 20 个字符列如果我添加一个映射:

我得到了正确的 255 个字符,但是,grails 验证字符串失败:

Field error in object 'dop_etc.DbConnection' on field 'url': rejected value [localhost:5432/rbc48_fantasy]; codes [dop_etc.DbConnection.url.size.error.dop_etc.DbConnection.url,dop_etc.DbConnection.url.size.error.url,dop_etc.DbConnection.url.size.error.java.lang.String...

似乎在某处设置了默认尺寸,但我似乎找不到它。感谢您的回复。

0 投票
2 回答
210 浏览

grails - 在 Groovy Source 文件夹中使用 Grails 3 服务的最佳方法是什么?

如问题所述,在 groovy 资源中使用 grails 服务的最佳方式是什么?我目前正在使用此代码:

有一个更好的方法吗?

编辑/解决方案: 我使用 Spring Dependency Injection 解决了它(使用 @Component 注释类并使用 Application.groovy 文件中的 @ComponentScan Annotation 注册包)

0 投票
1 回答
100 浏览

mongodb - Grails使用spring security更新嵌入对象但没有编码密码

我正在尝试更新嵌入的对象,但是当对象更新时,密码用户再次被编码。

我想将 Card 对象更新为 User 类。UserService 应该只更新卡对象,但它正在更新密码对象。

UserPasswordEncoderListener 是 grails spring 安全核心插件的默认值。

使用:

  • grailsVersion=3.3.8
  • grailsWrapperVersion=1.0.0
  • gormVersion=6.1.10.RELEASE
  • gradleWrapperVersion=3.5
  • mongodb:6.1.6

任何想法?或者我做错了什么?处理嵌入对象的最佳方法是什么?

github错误

用户类

在此处输入图像描述

客户类

在此处输入图像描述

卡类

在此处输入图像描述

用户服务类

在此处输入图像描述

用户密码编码器监听器

在此处输入图像描述