标签: grails-domain-class

如何在Grails Domain Class中创建瞬态变量?

如何在非持久性的域类中设置变量.我希望能够写入和读取该变量,但我不希望它成为表的一部分.

在rails中执行此操作的方法是使用设置变量attr_accessor.Grails有可能这样吗?有谁知道如何做到这一点?

谢谢!

grails grails-domain-class

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

Grails min约束日期验证

我是grails和groovy的新手.我有一个具有开始和结束日期的Project域类.我想提出一个约束,指定结束日期需要大于开始日期(然后项目的另一个子对象需要让其startdate和enddate与父项目的日期一起验证).这可能是最小约束还是我必须把它放在其他地方?唯一约束允许以这种方式链接两个属性,希望min/max约束允许这样做.我试过了

startDate(blank:false)
endDate(blank:false, min:'startDate')
Run Code Online (Sandbox Code Playgroud)

它会抛出一个错误,指出属性startDate在Project上不可用

grails grails-validation grails-domain-class

9
推荐指数
1
解决办法
5724
查看次数

Grails:如何在多对多映射中查询对象?

您好我有以下域类.

class Student {
   int age
   static hasMany = [courses:Course]
}

class Course {
   String name
   static hasMany = [students:Student]
}
Run Code Online (Sandbox Code Playgroud)

我想找到7岁的学生参加课程(身份1).

我可以使用动态查找程序或条件构建器或HQL吗?

我不想做跟随,因为它加载所有学生效率低下:

def course = Course.get(1);
course.students.findAll{ it.age == 7 }
Run Code Online (Sandbox Code Playgroud)

grails grails-orm grails-domain-class

9
推荐指数
1
解决办法
6124
查看次数

在grails域类中声明排序关联的最佳方法是什么?

似乎在Grails 中有两种不同的方式来声明已排序的关联:

方法1(请参阅此处)使用默认排序顺序

class Book {
  String title 
}
class Author {
  static hasMany = [books : Book]
  static mapping = { books sort: "title"}
}
Run Code Online (Sandbox Code Playgroud)

方法2(见这里)使用SortedSet

class Book implements Comparable {
  String title
  int compareTo(obj) {
    title <=> obj.title
  }
}
class Author {
  SortedSet books
  static hasMany = [books : Book]
}
Run Code Online (Sandbox Code Playgroud)

我不确定使用哪一个,有什么区别(如果有的话),使用一个与另一个之间的利弊.

我将不胜感激任何澄清.

谢谢

grails grails-orm grails-domain-class

8
推荐指数
1
解决办法
2868
查看次数

grails域类必须绑定到数据库吗?

当谈到grails时,我是一个完整的菜鸟(当谈到groovy时,我仍然非常乏味)所以如果这是一个愚蠢的问题,我道歉.

我正在构建一个简单的Web应用程序,我想基于文件系统对象(即目录结构和文件类型)而不是数据库数据来控制应用程序中的部分域.这样做有多容易,或者与GORM交织在一起的域对象是不值得尝试的?

grails groovy grails-domain-class

8
推荐指数
1
解决办法
2879
查看次数

我应该在grails应用程序中将临时域类放在哪里?

我应该在grails应用程序中将临时域类放在哪里?

即我有一个Action类将被传递,并使用,但从未保存.它应该在grails-app/domain文件夹中,还是在其他地方?

grails grails-domain-class

8
推荐指数
2
解决办法
4298
查看次数

是否仅为测试数据覆盖Grails dateCreated和lastUpdated?

我有几个Grails的,其中包括2.1域类dateCreatedlastUpdated那格姆自动管理,如字段:

class Person {
    Date dateCreated
    Date lastUpdated
    String name
}
Run Code Online (Sandbox Code Playgroud)

希望 Grails在运行时自动填写这些字段,但我想创建一些测试数据,我可以手动定义这些日期的值.问题是Grails会自动设置值,如果这些字段带有拦截器,即使我已经专门设置它们.

我已经看到了这个SO问题,它描述了如何允许更改dateCreated,但我也需要改变lastUpdated.这可能吗?

grails groovy grails-orm grails-domain-class grails-2.0

8
推荐指数
1
解决办法
3768
查看次数

如何测试实例是否在GORM数据库中保留?

当我将实例保存为:

test.save() 
Run Code Online (Sandbox Code Playgroud)

保存可能会失败.我可以

if (!test.save(flush:true) {
  // save failed
} 
Run Code Online (Sandbox Code Playgroud)

考虑一下我从另一个函数获取实例并且无法执行此检查的情况,因为我不会再次保存实例.

有没有办法检查实例是否仍然存在于数据库中还是具有未保存状态?

grails grails-orm grails-domain-class

8
推荐指数
2
解决办法
4450
查看次数

如何在Grails中复制域对象?

我想制作一个域对象的副本.实现这一目标的最简单方法是什么?

我意识到我可以创建一个新记录,然后遍历每个字段逐个复制数据 - 但我认为必须有一个更简单的方法来做到这一点......

在Rails中有一种简单的方法:

#rails < 3.1
new_record = old_record.clone

#rails >= 3.1
new_record = old_record.dup
Run Code Online (Sandbox Code Playgroud)

Grails有没有相应的东西?

grails grails-domain-class grails-2.0

7
推荐指数
2
解决办法
5692
查看次数

继承的Gorm映射

我正面临着关于Grails继承的问题.我有一个域类Person.grooy:

class Person{
    String name
    String contactNumber
    Address address
} 
Run Code Online (Sandbox Code Playgroud)

现在,我正在为员工和客户扩展Person.groovy,如:

class Employee extends Person{
    String designation
}
class Customer extends Person{
    String interest
}
Run Code Online (Sandbox Code Playgroud)

现在我想在我的数据库中为Employee和Customer提供单独的表,其中包含Person列,即name,contactNumber和associate address key.我怎么能实现这一点.我搜索过每一个地方,但这方面没什么.这种方法在GORM中是不可能的吗?请回答.多谢你们

grails grails-orm grails-domain-class

7
推荐指数
1
解决办法
4583
查看次数