grails-orm相关内容

Grails 枚举映射

在 Grails 中,有没有办法限制枚举映射到的列的大小.在以下示例中,我希望列类型为 char(2) enum FooStatus {酒吧('br'),焦油('tr')最终静态字符串 ID}类 Foo {FooStatus 状态静态约束 = {状态(inList:FooStatus.values()*.id,size:2..2)}} 导出schema时inList和size都没有任何影响,列 ..
发布时间:2021-12-22 20:39:54 其他开发

HibernateException:当 GORM 查询移动到另一个域类时,没有找到当前线程的会话

在grails中,我有一个Domain类,可以在BootStap.groovy中查询 def xref = AppXref.find{user_nm == 'john'} 但是,一旦我将代码移动到另一个域类的方法中,就会出现以下错误. Servlet.service() for servlet [default] 在上下文中与路径 [/myapp] 抛出异常消息:无法获得当前的休眠会话;嵌套 ..
发布时间:2021-12-22 20:36:14 其他开发

Grails 2 - 如何动态调用多个数据源

我的 Grails 应用程序(Grails 2.0.3)中有两个命名数据源... dataSource_a {//...}数据源_b {//...} 我希望能够根据某种参数动态更改我正在访问的数据源.我可以做这样的事情... def findPeople(datasource) {如果(数据源 == 'a'){返回 Person.a.list()} else if (datasource = ..
发布时间:2021-12-22 20:34:25 其他开发

在 Grails 中仅查看您自己的数据

这似乎是一个基本问题,但我还没有找到明确的答案.我在 Grails 中使用 spring-security-core 插件,我有 S2Users 有很多投资组合,投资组合有很多交易. 当我转到脚手架视图检查交易时,我怎么知道每个用户只看到他自己的交易?相反,我如何创建一个可以看到所有用户的所有交易的用户? 我不清楚默认行为是什么,以及 Grails/Spring-Security 如何 ..
发布时间:2021-12-22 20:34:17 其他开发

Grails - 保存多个对象,如果保存失败则回滚所有对象

我需要一次保存多个对象,如果一个对象保存失败,则全部回滚.例如: class 交易 {物品物品;}类项目{上次交易日期;} 如果我创建新事务,我需要更改 lastTransaction 值并保存该项目. 如果我保存项目失败,我需要回滚事务(反之亦然). 有什么想法吗? 解决方案 糟糕.不要抛出异常来回滚事务.利用副作用,您将承担相当高的成本,其中事务管理器假设运行时异常意味着您 ..
发布时间:2021-12-22 20:33:11 其他开发

Grails 1.0.3 升级问题

我正在尝试将 Grails 1.0.3 项目升级到 1.3.7,并且遇到了我认为相关的问题. 旧项目在 conf/hibernate/Domain1.hbm.xml 中有 Hibernate xml 文件我猜 GORM 在 1.0.3 中不存在? 我是否需要将 xml 文件中的内容本质上转换为域中的域类中的 Groovy 代码/ 任何其他细节都有帮助.谢谢. 更新- ..
发布时间:2021-12-22 20:33:07 其他开发

grails (GORM)/hibernate 中的多对多链接表

我在玩 Grails 并且发现 ORM 的东西很乏味,因为我不完全理解我在域类方面所做的事情.我希望有人能让我重回正轨 考虑以下内容 测试作业 One:Many 作业中使用的硬件 Many:One 物理硬件 ...这类似于在大学数据库示例中看到的经典 Order、OrderLine、Product 场景 我创建了以下域类 class 作业{字符串作业名称字符串作业描述}类 ..
发布时间:2021-12-22 20:31:22 其他开发

Grails/GORM 默认获取策略:何时将 fetchMode 设置为“eager"?(渴望与懒惰)

关于何时在域类中将 fetchMode 设置为“eager"的一般准则是什么?fetchMode“eager"与默认“lazy"的优缺点? 请提供一些具体示例/用例,说明何时使用“eager"(fetchMode=eager),何时不使用(fetchMode=lazy). 解决方案 基本上懒加载比急切的替代方案(性能、资源的使用)有更多的好处.由于它是所有关系的默认 grails 设 ..
发布时间:2021-12-22 20:31:14 其他开发

Grails/GORM:1:N 关系中belongsTo 的含义

在普通的一对多映射中,“一"方是关联的所有者.为什么有人会使用belongsTo-mapping 进行这样的映射?我是否错过了指定belongsTo 的一些副作用? 换句话说:在 GORM 中指定belongsTo-mapping 与不指定它有什么影响? 解决方案 是否指定belongsTo取决于您想要的参考操作. 如果您希望 Grails 执行 On Delete, CASC ..
发布时间:2021-12-22 20:30:56 其他开发

GORM createCriteria 和 list 不返回相同的结果:我该怎么办?

我正在使用 Nimble 和 Shiro 用于我的安全框架,我刚刚遇到了一个 GORM 错误.确实: User.createCriteria().list {最大结果 10} 返回 10 个用户 而 User.list(max: 10) 返回 9 个用户! 经过进一步调查,我发现createCriteria 返回了两次相同的用户(admin)因为admin有2个角色!!!(我不是在开玩笑 ..
发布时间:2021-12-22 20:30:00 其他开发

是否可以在 grails 中动态映射域对象的表名?

我有一个看起来像 的域 class Foo {字符串名称静态映射 = {表'富'}} 但我想做的更像是: 静态映射 = {表“foo_${dynamicVarThatComesFromRequest}"} 我想知道这是否可能? 谢谢! 解决方案 这是可能的.您可以添加一个 Hibernate 拦截器来处理所有 SQL 语句,并将您在映射中输入的表名中的某些标记解析/替换为您 ..
发布时间:2021-12-22 20:28:23 其他开发

跨两个数据源的 Grails GORM 域关联

如果另一个域类使用不同的数据源,是否可以在两个域类(即 belongsTo)之间建立关联?这两个数据源也是不同的数据库驱动程序. 我怀疑这可能是不可能的,但我想联系这里的社区,看看是否可能.现在我正在尝试这样做,但我收到了通常怀疑的休眠错误: 调用init方法失败;嵌套异常是 org.hibernate.MappingException:来自表 domain_class_A 的关联引用 ..
发布时间:2021-12-22 20:27:56 其他开发

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

有没有办法让列表按两个字段排序,比如姓氏和名字? 我知道 .listOrderByLastAndFirst 和 .list(sort:'last, first') 不起作用. 解决方案 这个旧的解决方案不再有效.请参阅下面 mattlary 的回答 您可能需要用 HQL 编写自定义查找器或使用 Criteria Builder. MyDomain.find("from Dom ..
发布时间:2021-12-22 20:25:16 其他开发

在 Grails 标准中使用 groupProperty 和 countDistinct

我使用的是 Grails 1.2.4.我想知道如何按“countDistinct"(降序)和投影中的 groupProperty 进行排序. 这是我的域: class 交易 {静态belongsTo = [客户:客户,产品:产品]日期交易日期 = 新日期()静态约束 = {交易日期(空白:假)}}类产品{字符串产品代码静态约束 = {产品代码(空白:假)}} 在 MySQL 术语中,这就 ..
发布时间:2021-12-22 20:23:16 其他开发

Grails 查询不使用 GORM

在 grails 中不使用 GORM 进行查询的最佳方法是什么? 我有一个似乎不适合 GORM 模型的查询,该查询有一个子查询和一个计算字段.我已经在 stackoverflow 上发帖了,但没有任何回应,所以我决定采取不同的方法.我想在 grails 应用程序中查询不使用 GORM 的内容.有没有一种简单的方法来获取连接并通过结果集? 解决方案 在服务或控制器中,可以为 dataS ..
发布时间:2021-12-22 20:21:42 其他开发