grails-orm相关内容
在 Grails 中,有没有办法限制枚举映射到的列的大小.在以下示例中,我希望列类型为 char(2) enum FooStatus {酒吧('br'),焦油('tr')最终静态字符串 ID}类 Foo {FooStatus 状态静态约束 = {状态(inList:FooStatus.values()*.id,size:2..2)}} 导出schema时inList和size都没有任何影响,列
..
有没有办法在 Grails/Gorm 中使用惰性属性获取?类似于: @Basic(fetch = FetchType.LAZY) 注解(它也适用于左连接获取?) (例如字符串属性的延迟加载) 解决方案 这个问题在 grails-user 邮件列表 此处.讨论了几个不同的选项.
..
在grails中,我有一个Domain类,可以在BootStap.groovy中查询 def xref = AppXref.find{user_nm == 'john'} 但是,一旦我将代码移动到另一个域类的方法中,就会出现以下错误. Servlet.service() for servlet [default] 在上下文中与路径 [/myapp] 抛出异常消息:无法获得当前的休眠会话;嵌套
..
我的 Grails 应用程序(Grails 2.0.3)中有两个命名数据源... dataSource_a {//...}数据源_b {//...} 我希望能够根据某种参数动态更改我正在访问的数据源.我可以做这样的事情... def findPeople(datasource) {如果(数据源 == 'a'){返回 Person.a.list()} else if (datasource =
..
这似乎是一个基本问题,但我还没有找到明确的答案.我在 Grails 中使用 spring-security-core 插件,我有 S2Users 有很多投资组合,投资组合有很多交易. 当我转到脚手架视图检查交易时,我怎么知道每个用户只看到他自己的交易?相反,我如何创建一个可以看到所有用户的所有交易的用户? 我不清楚默认行为是什么,以及 Grails/Spring-Security 如何
..
我需要一次保存多个对象,如果一个对象保存失败,则全部回滚.例如: class 交易 {物品物品;}类项目{上次交易日期;} 如果我创建新事务,我需要更改 lastTransaction 值并保存该项目. 如果我保存项目失败,我需要回滚事务(反之亦然). 有什么想法吗? 解决方案 糟糕.不要抛出异常来回滚事务.利用副作用,您将承担相当高的成本,其中事务管理器假设运行时异常意味着您
..
我正在尝试将 Grails 1.0.3 项目升级到 1.3.7,并且遇到了我认为相关的问题. 旧项目在 conf/hibernate/Domain1.hbm.xml 中有 Hibernate xml 文件我猜 GORM 在 1.0.3 中不存在? 我是否需要将 xml 文件中的内容本质上转换为域中的域类中的 Groovy 代码/ 任何其他细节都有帮助.谢谢. 更新-
..
我遇到了一种情况,我试图在 Postgres 中创建一个名为“user"的表,由于 Hibernate 没有将表名放在引号中,这会引发错误: |错误 2012-02-27 23:06:58,782 [Thread-10] 错误 hbm2ddl.SchemaExport - 不成功:创建表用户(id int8 非空,版本 int8 非空,account_expired bool 非空,accoun
..
我在玩 Grails 并且发现 ORM 的东西很乏味,因为我不完全理解我在域类方面所做的事情.我希望有人能让我重回正轨 考虑以下内容 测试作业 One:Many 作业中使用的硬件 Many:One 物理硬件 ...这类似于在大学数据库示例中看到的经典 Order、OrderLine、Product 场景 我创建了以下域类 class 作业{字符串作业名称字符串作业描述}类
..
关于何时在域类中将 fetchMode 设置为“eager"的一般准则是什么?fetchMode“eager"与默认“lazy"的优缺点? 请提供一些具体示例/用例,说明何时使用“eager"(fetchMode=eager),何时不使用(fetchMode=lazy). 解决方案 基本上懒加载比急切的替代方案(性能、资源的使用)有更多的好处.由于它是所有关系的默认 grails 设
..
在普通的一对多映射中,“一"方是关联的所有者.为什么有人会使用belongsTo-mapping 进行这样的映射?我是否错过了指定belongsTo 的一些副作用? 换句话说:在 GORM 中指定belongsTo-mapping 与不指定它有什么影响? 解决方案 是否指定belongsTo取决于您想要的参考操作. 如果您希望 Grails 执行 On Delete, CASC
..
我正在使用 Nimble 和 Shiro 用于我的安全框架,我刚刚遇到了一个 GORM 错误.确实: User.createCriteria().list {最大结果 10} 返回 10 个用户 而 User.list(max: 10) 返回 9 个用户! 经过进一步调查,我发现createCriteria 返回了两次相同的用户(admin)因为admin有2个角色!!!(我不是在开玩笑
..
我有一个看起来像 的域 class Foo {字符串名称静态映射 = {表'富'}} 但我想做的更像是: 静态映射 = {表“foo_${dynamicVarThatComesFromRequest}"} 我想知道这是否可能? 谢谢! 解决方案 这是可能的.您可以添加一个 Hibernate 拦截器来处理所有 SQL 语句,并将您在映射中输入的表名中的某些标记解析/替换为您
..
如果另一个域类使用不同的数据源,是否可以在两个域类(即 belongsTo)之间建立关联?这两个数据源也是不同的数据库驱动程序. 我怀疑这可能是不可能的,但我想联系这里的社区,看看是否可能.现在我正在尝试这样做,但我收到了通常怀疑的休眠错误: 调用init方法失败;嵌套异常是 org.hibernate.MappingException:来自表 domain_class_A 的关联引用
..
有没有办法让列表按两个字段排序,比如姓氏和名字? 我知道 .listOrderByLastAndFirst 和 .list(sort:'last, first') 不起作用. 解决方案 这个旧的解决方案不再有效.请参阅下面 mattlary 的回答 您可能需要用 HQL 编写自定义查找器或使用 Criteria Builder. MyDomain.find("from Dom
..
我的 grails 应用无法正确解码请求参数. 在 config.groovy 中: grails.views.gsp.encoding = "UTF-8" grails.converters.encoding =“UTF-8" 我所有的 gsp 在页面指令以及
..
我使用的是 Grails 1.2.4.我想知道如何按“countDistinct"(降序)和投影中的 groupProperty 进行排序. 这是我的域: class 交易 {静态belongsTo = [客户:客户,产品:产品]日期交易日期 = 新日期()静态约束 = {交易日期(空白:假)}}类产品{字符串产品代码静态约束 = {产品代码(空白:假)}} 在 MySQL 术语中,这就
..
在 grails 中不使用 GORM 进行查询的最佳方法是什么? 我有一个似乎不适合 GORM 模型的查询,该查询有一个子查询和一个计算字段.我已经在 stackoverflow 上发帖了,但没有任何回应,所以我决定采取不同的方法.我想在 grails 应用程序中查询不使用 GORM 的内容.有没有一种简单的方法来获取连接并通过结果集? 解决方案 在服务或控制器中,可以为 dataS
..
我有一个奇怪的情况,似乎表明存在 GORM 缓存问题 //以所有 book.status 为 UNREAD 开头Book.list().each { book.status = Status.READ ;书.保存()}println (Book.findAllByStatus (Status.READ))//将打印一个空列表println (Book.list().findAll (it.sta
..
我收到此错误消息: 错误:找到对集合的共享引用:Person.relatedPersons 当我尝试执行 addToRelatedPersons(anotherPerson) 时: person.addToRelatedPersons(anotherPerson);anotherPerson.addToRelatedPersons(person);另一个人.保存();人.save()
..