问题标签 [grails-orm]

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 投票
3 回答
2928 浏览

hibernate - 休眠条件 - 获取单个对象

我正在使用 Hibernate (GORM) 进行 Grails 项目。我有以下领域模型:

当我尝试ClientContacts使用特定所有者 ( Person) 检索所有内容时,我遇到了一些有趣的问题。我正在使用以下查询条件:

问题是当我遍历ClientContacts结果中的每一个时,它们只有一个所有者- 事实上,大多数都有许多其他所有者。是什么赋予了?我知道 hibernate/GORM 使用延迟获取,但我认为ClientContact当我尝试访问它们时它会获取所有其他所有者。

有什么想法吗?我想继续使用list()函数,因为它提供了一些不错的分页功能。

0 投票
10 回答
38461 浏览

grails - 如何在 Grails 中按多个字段排序?

有没有办法获得按两个字段排序的列表,比如姓氏和名字?

我知道.listOrderByLastAndFirst并且.list(sort:'last, first')不会工作。

0 投票
1 回答
117 浏览

grails-orm - Gorm 主窗口不接受拖放

当我尝试将任何小部件(标签、按钮...)添加到 Gorm 中的主应用程序窗口时,窗口不接受小部件。我尝试拖放,但没有什么想要“粘”的。当我选择并左键单击调色板窗口中的按钮小部件时,光标变为“2 个绿色方块”。当我开始拖动时,它变为“2 个黑色方块”。

另一个问题是“文档”窗口打开了非常长的窗口(大约是我屏幕宽度的 5 倍),但除了 NSOWner、NSFirst、My Window 和 NSMenu 图标之外,它是空的。

有什么想法有什么问题吗?

我正在使用fluxbox-1.1.1 运行linux 我已经编译了gorm-1.2.8 和gnustep-startup-0.22.0,其中包含:

ffcall-1.10 gnustep-back-0.16.0 gnustep-base-1.18.0 gnustep-gui-0.16.0 gnustep-make-2.0.7 gnustep-objc-1.6.0 libffi-3.0.1

任何帮助表示赞赏。谢谢

0 投票
4 回答
1356 浏览

grails - 如何将 Grails 中由组合框表示的字段设为可选?

我正在使用 Grails 进行第一次实验,并且正在寻找一种方法让组合框表示的字段(例如一对一的域关联和具有窄范围约束的数字)是可选的,即应该有一个空的在组合框中输入。

如何做到这一点?我已经尝试nullable:true在静态属性中添加约束和列出字段optionals,但都没有产生所需的结果。

这些是我的域类:

0 投票
12 回答
670 浏览

grails - Controllers in Grails

I'm writing a small webapp in Grails and I have the following question regarding best practices for controller design and using GORM:

I'm storing the user object in session.user. Currently all my action methods start with the following code to make sure a valid user is logged in and that the user object is fresh:

Is that best practice? Can it be done in a better and/or more concise way?

0 投票
2 回答
8009 浏览

hibernate - Grails 中的 GORM 和 StaleObjectStateException

我正在编写一个小型 Grails 应用程序,并且在运行以下相当简单的代码时,我继续获得 StaleObjectStateException:s 大约 1/10:th 对“createfoo”的调用。很可能我错过了使用 GORM 的最佳方式。

这是代码:

我关于 GORM 最佳实践的问题:

  1. “if-validate()-then-save()-else-discard()”是在 GORM 中持久化新对象的正确方法吗?

  2. 我应该验证我将要保存()的所有对象吗?即我应该在上面的代码中同时验证 Foo 对象和用户对象吗?验证用户对象会隐式检查 Foo 对象的状态吗?

  3. 我做了什么才能得到 StaleObjectStateException?:-)

GORM/休眠异常:

0 投票
2 回答
855 浏览

sql - 指定从 GORM 类生成的 DDL 中的字段顺序?

我使用 GORM 从 groovy 类生成我的数据库的 DDL。这是伟大的。但是,生成的 SQL 中的字段顺序与类中字段的顺序是不一样的。例如,如果我创建类

生成以下 SQL(对于 MySQL)

这些字段已按字母顺序排序(在自动生成的 id 和版本字段之后)。在这种情况下这没问题,但我有一些更广泛的表,其中按字段顺序包含重要的上下文信息。

这是我的问题:如何告诉 GORM 按照 groovy 类中的声明顺序对 SQL 中的字段进行排序?

0 投票
3 回答
6219 浏览

grails - 在 Bootstrap.groovy 中设置 Grails 域 id

是否可以在 Grails 的 Bootstrap.groovy(或任何地方)中显式设置域对象的 id?

我尝试了以下方法:

和:

但是在这两种情况下,当我在运行时打印出结果Foo.list()时,我看到我的对象的 id 为 1,或者序列中的下一个 id 是什么。

编辑: 这是在 Grails 1.0.3 中,当我使用内置 HSQL 数据库在“开发”中运行我的应用程序时。

编辑: chanwit 在下面提供了一个很好的解决方案。但是,我实际上是在寻找一种在不更改域的 id 生成方法的情况下设置 id 的方法。这主要用于测试:我希望能够在我的测试引导程序中将某些东西设置为已知的 id 值setUp(),但仍然能够在生产中使用 auto_increment 或序列。

0 投票
1 回答
206 浏览

hibernate - 限制 Hibernate 查询中的输出数量

我在 grails 中有一个休眠查询

在上面的查询中,我只想要 5 个输出。如何将输出限制为 5?

0 投票
3 回答
23248 浏览

grails - 在 Grails/GORM 中定义默认排序顺序

假设我使用 GORM 定义了一个用户对象。每个用户可以有零个或多个 Login:s。每个登录都有一个时间戳。检索 user.logins 时,我希望根据 login.date 的值对登录进行排序。实现这一目标的正确 Grails 方法是什么?

示例:我希望以下代码按升序列出所有用户的登录信息。

这些是引用的类:

我正在运行 Grails 1.0.4,它是最新的稳定版本。