问题标签 [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.
grails - Grails 默认排序的“hasMany”域属性
我正在尝试hasMany
使用映射语句设置我的属性的默认排序。我正在关注 grails 文档,但它对我不起作用(grails 1.3.5)。我的代码如下所示:
错误消息如下所示:
您在我的代码中看到任何错误吗?
security - 保存时修改 Grails 域
假设我有一个用户域类,其中包含字段username
和password
. 为简单起见,我想将密码存储为 SHA-512 哈希。我还想在散列密码之前验证密码,但也要在保存密码之前透明地散列密码。有没有办法在域对象中做到这一点?
而不是说:
我无法验证哈希的地方
在GORM Events之后,我提出了以下建议:
现在这在创建新用户时工作正常。但是,如果我创建一个用户,给他们一个密码并保存它们,然后更改密码并重新保存,这些方法都不会被调用,并且纯测试密码会被存储。
validation - 自定义 Grails 验证
我想检查以确保两个字段不相等并且一个大于另一个。说yearBorn
和yearMarried
。它们不能相等,yearMarried
必须大于 then yearBorn
。
database-design - grails 域可以继承吗?
我正在尝试对Person
s 网络进行建模。一个Person
可以有很多Favorites
。这些收藏夹是固定的并不断扩大。
现在我想要Favorite
域类的孩子。在Favorite
我有belongsTo
映射:
现在在我的孩子班:
这是可能的还是我想远离GORM?实现这样的事情的正确方法是什么?
validation - 如何确保在 Grails 中设置布尔字段?
我想确保检查表示布尔值的两个表单字段之一。但是没有适当的约束来做到这一点。nullable: false
不起作用。
如何检查两个字段之一是否被选中?
grails - Grails 属于使用
我有 3 个域类:文章、用户和语言。每篇文章都是由用户以指定的语言编写的。所以关系是(文章 - 语言:许多 - 1),(用户 - 文章:1 - 很多)
我尝试:
问题是:grails generate-all
可以为所有 3 个域类创建所有控制器和视图,但在任何视图中都没有属性输入。没有文本输入,没有组合框,没有错误消息,......只有产品、语言和文章的 id 字段。
我很确定这个错误是关于我如何使用关系的,因为当我删除“belongsTo”和“hasMany”时,grails 会毫无问题地创建所有视图。
我做错什么了吗?
java - grails 不会保存但没有错误
嗨,我有一个如此简单的域,如下所示
这是保存数据的控制器:
obj.hasErrors() 产生 false (这意味着没有错误)但它不会保存到数据库中。知道如何调试吗?
ps: myutil.formatDate() --> 用于将日期字符串如 19/11/2010 转换为 Date()
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 正在被触发。
database - 使用 Grails 访问没有域类的数据库
我在尝试将 Grails 应用程序与 AS400/DB2 数据库放在一起时遇到了问题。我无法映射大多数文件,因为它们没有唯一的字段可用作 id。即使他们这样做,它们也是基于文本的字段,而不是可以转换为长类型的格式。(我不明白为什么 PK 必须是长数据类型?如果你想给我们一个序列或 AI 的 pk 是有意义的,但如果你只需要一个唯一的键怎么办?我在这里遗漏了什么吗?)
我想知道是否可以保留我已设置的数据源并将其用于直接 SQL 访问数据库而无需使用域对象?
我看到的是将域对象设置为瞬态。但我不知道你是否仍然可以在没有 id 字段的情况下做类似的事情。有人知道它是如何工作的吗?
有任何想法吗?
谢谢,乔恩
grails - Grails:使用投影时如何返回域类的实例
我有一个域类,它有大约 20 个属性。域类上的 findBy 会导致选择查询,其中包含从数据库中选择的所有列,当所需列可能仅为 1 时,这可能会影响性能。
所以我想到了使用,withCriteria。
返回的值是一个列表。但我需要的是一个SampleDomain
我该怎么做的实例?
谢谢你。问候,杰伊·钱德兰