如果列为null,是否可以在grails中获取默认值?如果我要通过grails域对象表示以下查询,那么如何实现:
SELECT IFNULL(empsalary,0.00) from Employee;域对象:
class Employee{
Integer id,
Float empsalary
static constraints = {
id unique: true, blank:false
empsalary nullable:true
}
}发布于 2014-03-21 12:04:22
如果您希望从数据库中得到一个默认值,而不必将任何代码编码到您的类中,我建议您更新每一行的空值,并将其设置为数据库中的0。如果数据是从另一个应用程序插入的,并且该应用程序允许空值,则在数据库列上放置一个“默认0”。
Grails还提供了一个"afterLoad“事件,该事件在从数据库加载域对象时运行。请参阅这里的文档:http://grails.org/doc/2.3.7/guide/GORM.html。
发布于 2014-03-20 21:22:20
我想你可以用HQL做这件事:
def salary = Employee.executeQuery('SELECT COALESCE(empsalary, 0.0) FROM Employee')[0]发布于 2014-03-21 13:39:06
请尝试在域对象中设置Float empsalary = 0.0。
https://stackoverflow.com/questions/22545148
复制相似问题