问题标签 [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 回答
1636 浏览

grails - Grails:属性空错误

我有一个名为 Modulo 的域,它有一些属性,还有一个 Controller,它有一个从模型创建对象并保存它的方法,当执行保存 shell 时显示此错误:

  • La propiedad [{0}] de la case [{1}] no puede ser nulo

但是,如果我将可空约束设置为 true,则会再次显示错误。我认为我不应该设置这个约束。

该模型链接到具有除 id 之外的所有属性的 mysql 表允许为空。

我想我在这里没有做错什么。有什么建议吗??

域:模

控制器:示例

谢谢。何塞

0 投票
2 回答
1018 浏览

grails - 在 Grails 应用程序中成功保存到 db 后,页面刷新(F5)会更改屏幕上的数据

我为遗留数据库开发了一个 grails/groovy 应用程序,该数据库具有用于(添加、编辑)用户信息的用户维护页面。该页面正在使用 editinplace 和 ajax 来更新信息。

该程序已在本地测试,没有问题。但是,在任何远程服务器(alpha、beta、prod)上,当我“更新”用户的任何属性时,它会将其保存在数据库中,但是当我刷新页面时,内容“有时”会返回以前的值。如果我一直按刷新 (F5),它将在新旧值之间切换而没有任何特定趋势。(无法在本地复制)

我认为这可能是缓存问题,所以我在用户域上将缓存设置为 false

我认为可能导致问题的另一件事是列表操作中的 createCriteria,我也将缓存设置为 false

这是我的保存方法

......

似乎休眠保留了不同版本的数据,并且通过随机刷新页面,将显示其中一个版本。然而,最新的值占主导地位并且出现得更频繁,但仍然看到旧值出现在屏幕上是毁灭性的。

这些是我做过但没有帮助的步骤 1- 关闭缓存(检查休眠统计信息以确保其关闭) cache.use_second_level_cache=false cache.use_query_cache=false

2-在不同的浏览器中尝试过

3-清理浏览器缓存并删除co​​okies

我对 websphere 也很怀疑,这是我的生产服务器,我的本地服务器是 apache,但真的不知道为什么它会这样反应

Grails/休眠 1.1

我仍然有这个问题,想不出别的。我很感激,如果有人可以给我任何提示

新发现

如果我使用select u.id, u.sysAcct, u.firstName, u.lastName, u.mailAddress, u.phoneExt from User u... 问题将得到解决。但如果我使用select u from User u,... 问题会再次发生。出于某种原因,如果我返回 User 对象,则会发生此问题。getUserListHSQLStatic 和 getUserListHSQL 基本相同,只是一个是返回对象,一个是返回字段。静态值永远不会通过按 F5 改变,但对象(用户)会改变。

0 投票
3 回答
6048 浏览

grails-domain-class - 从数据库创建 Grails 域类

我想从现有数据库创建 grails 域类,通常我是从域类创建数据库,现在我需要从现有数据库模式创建它。如果有任何可用的命令,请帮助我。

0 投票
2 回答
1921 浏览

grails - 在我的控制器中无法访问域类

我是 Grails 和 groovy 的新手。
我创建了一个域类

现在我在

在那,当我创建一个对象时,它显示错误。

我得到的错误是

我尝试导入,但也没有在那里显示。我在 grails 1.3.7 和 IntelliJ IDEA 10.0.2 中工作
谢谢

0 投票
1 回答
230 浏览

grails - 从 Grails 中的 Domain 类生成 DML 语句(插入)


我有一个要求,我需要将一组插入语句写入一个文件,其中的值需要从域类列表中获取。

因此,不是准备一个包含插入语句的字符串,其值取自列表中的每个域并将其写入文件,有没有一种方法可以让我们从域类本身获取这些所需的插入语句作为域类包含其属性的所有值并具有映射。
这样我们只需将这些插入语句写入文件。

谢谢,
帕万

0 投票
2 回答
3766 浏览

grails - Grails 集成测试不回滚

我正在从“ Grails In Action ”一书中学习 grails,并且我正在尝试从示例中运行集成测试。在书中它说每个集成测试功能都应该在每个测试完成时回滚其操作。它不会回滚每个事务(因为当我完成数据库时是脏的)。我试图找出原因并发现找到了一个名为“事务性”的属性。据称,您将此属性设置为 true ,它将使测试用例具有事务性,但它似乎不会改变行为。我在下面包含了单元测试的代码。

我正在使用 grails 1.3.7 并连接到 MySql 数据库。测试成功运行,它只是不回滚。我在这个集成测试中做错了什么,它跳过了回滚吗?

UserIntegrationTests.groovy:

用户.groovy

测试执行日志

0 投票
2 回答
786 浏览

hibernate - Grails & JPA 注释 + hibernate 映射文件。如何摆脱这个错误?

我正在尝试在我的项目中重用一些带有 JPA 注释的实体类。但不幸的是,我也是 Hibernate & JPA 的新手。当我尝试使用命令“grails generate-all”生成控制器时,出现错误:

运行 generate-all 时出错:创建名为“messageSource”的 bean 时出错:bean 初始化失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“transactionManager”的 bean 时出错:设置 bean 属性“sessionFactory”时无法解析对 bean“sessionFactory”的引用;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“sessionFactory”的 bean 时出错:调用 init 方法失败;嵌套异常是 org.hibernate.PropertyNotFoundException:在类 example.MyBean 中找不到属性版本的设置器

有一个非常简单的解决方案:使用 getter/setter 对添加字段“版本”。但我不想更改我的实体类,因为我可能想在其他一些非 Grails 项目中重用它们。有没有办法将 JPA 注释与休眠映射文件一起使用,而无需在实体类中重复使用已使用的注释?

是的,而且,这是一个好主意还是有更好的方法?

0 投票
0 回答
148 浏览

grails - 在 Grails 中指定域类目录

有没有办法指定 Grails 查找域类的目录?在测试环境中运行时,我希望 grails 从grails-app/domain以及增强域类。test/domain

我需要这个的原因是我有一些域类,我在插件中用于集成测试。他们目前坐在grails-app/domain一个特定的包裹下。在插件描述符中,我确保从插件构建中排除此包。当它被打包为插件时,它工作得很好,但是由于各种原因,我们使用在 .inline 中声明的这个插件运行和构建我们的应用程序BuildConfig.xml。这会导致这些域类被编译到主机应用程序中,尽管在插件描述符中声明了排除项 - 因此它们与应用程序一起部署并为它们生成表,这是我不想要的。

有任何想法吗?

谢谢。

0 投票
1 回答
1936 浏览

unit-testing - 为什么我在单元测试中域类的 before* 和 after* 逻辑中收到“没有这样的属性”?

我注意到在 grails 单元测试中需要域类时,缺少对属性的任何引用。

单元测试中的某处

事件.groovy

产生的错误

  1. 我怎样才能创建一个工作测试?
  2. 为什么堆栈跟踪提示它已声明为缺失的属性?
0 投票
1 回答
5196 浏览

grails - Grails 域类主键

类 Ctr_country {

我使用 SQLS Express 作为数据库。我希望这个类(表)的主键是 ctr_abrev。

a) 我该怎么做?