标签: grails-orm

在Grails/GORM中定义默认排序顺序

假设我已经使用GORM定义了一个User对象.每个用户可以拥有零个或多个Login:s.每个登录都有一个时间戳.检索user.logins时,我希望根据login.date的值对登录进行排序.什么是正确的Grails方法来实现这一目标?

示例:我希望以下代码按升序列出所有用户的登录名.

<g:each var="login" in="${user.logins}">
  <tr>
    <td>${login.date}</td>
  </tr>
</g:each>
Run Code Online (Sandbox Code Playgroud)

这些是引用的类:

class User {
  ...
  def hasMany = [logins: Login]
  static fetchMode = [logins: "eager"]
}

class Login {
  Date date
  ...
  def belongsTo = [User]
}
Run Code Online (Sandbox Code Playgroud)

我正在运行Grails 1.0.4,这是最新的稳定版本.

grails grails-orm gsp

16
推荐指数
3
解决办法
2万
查看次数

如何将Hibernate会话绑定到Grails中的线程?

我正在Grails编写一个多线程应用程序,其他线程需要访问GORM/Hibernate.当他们尝试访问GORM时,我收到错误"org.hibernate.HibernateException:没有Hibernate会话绑定到线程,配置不允许在这里创建非事务性的".

确定公平,有人可以指导我设置线程的最佳方式来访问吗?错误消息几乎听起来像你只需要更改一些配置选项但我感觉,它不是那么简单......

grails grails-orm hibernate-session

16
推荐指数
2
解决办法
9801
查看次数

如何获取表GORM对象的名称映射到?

说我有类似的东西:

class Foo {
    static mapping = {
        table 'foo_table'
    }
}
Run Code Online (Sandbox Code Playgroud)

foo_table如果我有对此对象的实例的引用,我怎么能得到名称?

dns grails grails-orm

16
推荐指数
2
解决办法
4920
查看次数

Grails多列索引

有人可以解释如何在Grails中定义多列索引吗?文档最多是稀疏的.

例如,这似乎根本不起作用:http: //grails.org/GORM+Index+definitions

我对此有一些好运,但结果似乎是随机的.在一个域类中起作用的定义在应用于另一个域时不会(当然具有不同的名称). http://www.grails.org/doc/1.1/guide/single.html#5.5.2.6%20Database%20Indices

一些工作示例和解释将受到高度赞赏!

database indexing grails grails-orm

15
推荐指数
2
解决办法
8813
查看次数

Grails Enum Mapping

在Grails中,有没有办法限制枚举枚举的列的大小.在以下示例中,我希望列类型为char(2)

enum FooStatus {
    BAR('br'), TAR('tr')
    final static String id
}

class Foo {
    FooStatus status

    static constraints = {
        status(inList:FooStatus.values()*.id,size:2..2)
    }
}
Run Code Online (Sandbox Code Playgroud)

在导出模式时,inList和size都没有任何效果,列类型保持其默认值(varch(255))如果我定义一个新的UserType,也许我可以这样做.任何的想法 ?

谢谢你

grails grails-orm

15
推荐指数
2
解决办法
2万
查看次数

GORM for Rest(Grails)?

我正在研究Grails,并撰写关于未来的内容.

RoadMap(http://grails.org/Roadmap)跳出了一些有趣的东西

GORM for REST

任何对Grails有更多经验的人都知道这会带来什么?

我猜测通过Web服务进行某种CRUD操作而不是使用Hibernate连接到SQL数据库?

grails groovy grails-orm

15
推荐指数
2
解决办法
1769
查看次数

GORM域类属性的默认值

也许是一个愚蠢的问题,但我应该在哪里/如何定义GORM域类属性的默认值?例如,当我创建一个新的Company对象实例时,我希望属性country的默认值为"USA".我想我可以在创建控制器中做到但它看起来有点脏.就像是:

def create = { def companyInstance = new Company() companyInstance.properties = params companyInstance.accepted = "USA" ...

grails grails-orm

15
推荐指数
1
解决办法
9801
查看次数

Hibernate/GORM:flush()不处理集合

我在Grails应用程序中进行了集成测试,当我尝试保存类型的实体时失败 Member

invitingMember.save(flush: true)
Run Code Online (Sandbox Code Playgroud)

这引发了以下异常

org.hibernate.AssertionFailure:在com.mycompany.member.MemberConnectionService.addOrUpdateContact(MemberConnectionService.groovy:939)中,flush()未处理集合[com.mycompany.facet.Facet.channels].

在事务的早期,我将一个对象添加到集合属性中invitingMember.我的猜测是异常在上面的行中抛出,因为只有在这一点上才会保留添加到集合中的对象.

java grails hibernate grails-orm

14
推荐指数
2
解决办法
1万
查看次数

Grails默认排序为"hasMany"域属性

我正在尝试hasMany使用mapping语句设置我的属性的默认排序.我正在关注grails doc,但它对我不起作用(grails 1.3.5).我的代码看起来像:

class Note {
    Calendar    sendDate
    static belongsTo = Message
}

class Message {
    static  hasMany = [notes: Note]
    static mapping = {
        notes sort:'sendDate desc'
    }
}
Run Code Online (Sandbox Code Playgroud)

错误消息如下所示:

...
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'notes0_.sendDate' in 'order clause'
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
        at com.mysql.jdbc.Util.getInstance(Util.java:384)
...
Run Code Online (Sandbox Code Playgroud)

你看到我的代码中有任何错误吗?

grails grails-orm grails-domain-class

14
推荐指数
2
解决办法
1万
查看次数

类[]的方法在Grails应用程序之外使用.如果在测试的上下文中使用模拟API或正确引导Grails运行

问题

我知道已经有一个问题,但我认为导致的问题可能因他们所说的而有所不同.我有以下设置:

  1. grails版本: 2.3.4
  2. Hibernate插件:运行时":hibernate:3.6.10.6"
  3. 我的Bootstrap是空的
  4. 我的控制器和服务测试被评论

这个grails应用程序有多个数据源(我不确定这个事实是否与它有任何关系)并且它发生在从第二个数据源调用Domain对象之后,该数据源已经使用grails反向工程插件进行了反向设计(已完成)在一个单独的项目上,然后导入到我的项目.

这是导致Controller层和服务层出现问题的GORM调用

def campusAttributes = CampusAttribute.findAllByNameLike("%Next Option%")
Run Code Online (Sandbox Code Playgroud)

我发现了一些其他的抱怨,这似乎是Maven和grails hibernate插件版本的一个问题,但在那种情况下,问题是grails 2.3.1和特定的hibernate插件版本非常特别.

我所做的只是一个grails run-app(没有用maven构建应用程序也没有任何嘲弄)

提前致谢

grails-orm grails-plugin grails-domain-class grails-2.0

14
推荐指数
1
解决办法
9514
查看次数