问题标签 [grails-domain-class]

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 回答
13442 浏览

grails - Grails 默认排序的“hasMany”域属性

我正在尝试hasMany使用映射语句设置我的属性的默认排序。我正在关注 grails 文档,但它对我不起作用(grails 1.3.5)。我的代码如下所示:

错误消息如下所示:

您在我的代码中看到任何错误吗?

0 投票
1 回答
1259 浏览

security - 保存时修改 Grails 域

假设我有一个用户域类,其中包含字段usernamepassword. 为简单起见,我想将密码存储为 SHA-512 哈希。我还想在散列密码之前验证密码,但也要在保存密码之前透明地散列密码。有没有办法在域对象中做到这一点?

而不是说:

我无法验证哈希的地方

GORM Events之后,我提出了以下建议:

现在这在创建新用户时工作正常。但是,如果我创建一个用户,给他们一个密码并保存它们,然后更改密码并重新保存,这些方法都不会被调用,并且纯测试密码会被存储。

0 投票
1 回答
1046 浏览

validation - 自定义 Grails 验证

我想检查以确保两个字段不相等并且一个大于另一个。说yearBornyearMarried。它们不能相等,yearMarried必须大于 then yearBorn

0 投票
1 回答
121 浏览

database-design - grails 域可以继承吗?

我正在尝试对Persons 网络进行建模。一个Person可以有很多Favorites。这些收藏夹是固定的并不断扩大。

现在我想要Favorite域类的孩子。在Favorite我有belongsTo映射:

现在在我的孩子班:

这是可能的还是我想远离GORM?实现这样的事情的正确方法是什么?

0 投票
3 回答
5990 浏览

validation - 如何确保在 Grails 中设置布尔字段?

我想确保检查表示布尔值的两个表单字段之一。但是没有适当的约束来做到这一点。nullable: false不起作用。

如何检查两个字段之一是否被选中?

0 投票
1 回答
1482 浏览

grails - Grails 属于使用

我有 3 个域类:文章、用户和语言。每篇文章都是由用户以指定的语言编写的。所以关系是(文章 - 语言:许多 - 1),(用户 - 文章:1 - 很多)

我尝试:

问题是:grails generate-all可以为所有 3 个域类创建所有控制器和视图,但在任何视图中都没有属性输入。没有文本输入,没有组合框,没有错误消息,......只有产品、语言和文章的 id 字段。

我很确定这个错误是关于我如何使用关系的,因为当我删除“belongsTo”和“hasMany”时,grails 会毫无问题地创建所有视图。

我做错什么了吗?

0 投票
1 回答
1601 浏览

java - grails 不会保存但没有错误

嗨,我有一个如此简单的域,如下所示

这是保存数据的控制器:

obj.hasErrors() 产生 false (这意味着没有错误)但它不会保存到数据库中。知道如何调试吗?

ps: myutil.formatDate() --> 用于将日期字符串如 19/11/2010 转换为 Date()

0 投票
1 回答
722 浏览

grails - GORM 事件未在集成测试中触发

尝试在具有 beforeDelete 事件的对象上集成测试 Grails GORM delete。问题是集成测试中没有触发 beforeDelete 事件:

ChallengeMember的相关部分:

圣杯 1.3.5

有什么建议么?

我为什么在乎?

我的测试失败是因为:

org.springframework.dao.InvalidDataAccessApiUsageException:已删除的对象将被级联重新保存(从关联中删除已删除的对象):[com.v.ChallengeMember#1];嵌套异常是 org.hibernate.ObjectDeletedException:已删除的对象将被级联重新保存(从关联中删除已删除的对象):[com.v.ChallengeMember#1]

但是,从浏览器中删除可以正常工作,因为 beforeDelete 正在被触发。

0 投票
2 回答
1791 浏览

database - 使用 Grails 访问没有域类的数据库

我在尝试将 Grails 应用程序与 AS400/DB2 数据库放在一起时遇到了问题。我无法映射大多数文件,因为它们没有唯一的字段可用作 id。即使他们这样做,它们也是基于文本的字段,而不是可以转换为长类型的格式。(我不明白为什么 PK 必须是长数据类型?如果你想给我们一个序列或 AI 的 pk 是有意义的,但如果你只需要一个唯一的键怎么办?我在这里遗漏了什么吗?)

我想知道是否可以保留我已设置的数据源并将其用于直接 SQL 访问数据库而无需使用域对象?

我看到的是将域对象设置为瞬态。但我不知道你是否仍然可以在没有 id 字段的情况下做类似的事情。有人知道它是如何工作的吗?

有任何想法吗?

谢谢,乔恩

0 投票
3 回答
1287 浏览

grails - Grails:使用投影时如何返回域类的实例

我有一个域类,它有大约 20 个属性。域类上的 findBy 会导致选择查询,其中包含从数据库中选择的所有列,当所需列可能仅为 1 时,这可能会影响性能。

所以我想到了使用,withCriteria。

返回的值是一个列表。但我需要的是一个SampleDomain我该怎么做的实例?

谢谢你。问候,杰伊·钱德兰