Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date Grails:“Where”闭包内日期间隔的计算_Date_Grails_Gorm_Operations - Fatal编程技术网

Date Grails:“Where”闭包内日期间隔的计算

Date Grails:“Where”闭包内日期间隔的计算,date,grails,gorm,operations,Date,Grails,Gorm,Operations,我有下表“party”,带有开始日期和持续时间属性: CREATE TABLE `party` ( `idparty` int(11) NOT NULL, `startDate` date DEFAULT NULL, `duration` int(11) DEFAULT NULL, PRIMARY KEY (`idparty`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; “持续时间”表示以分钟为单位的持续时间 我可以使用以下选项进行查询: SE

我有下表“party”,带有开始日期和持续时间属性:

CREATE TABLE `party` (
  `idparty` int(11) NOT NULL,
  `startDate` date DEFAULT NULL,
  `duration` int(11) DEFAULT NULL,
  PRIMARY KEY (`idparty`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
“持续时间”表示以分钟为单位的持续时间

我可以使用以下选项进行查询:

SELECT * FROM test.party  where startDate + interval duration minute > curdate();
如果我希望在将来选择所谓的计划条目

我可以查询以从过去选择条目:

SELECT * FROM test.party  where startDate + interval duration minute < curdate();
现在,我希望使用“Where”闭包使用GRAILS框架处理此类查询。我有一个域类Party,startDate作为日期,duration作为整数

我试图在Party.where{}closure中使用TimeCategory、plain additions、old-shool java.util.Date来抵抗这些查询,但没有成功:

要么忽略where部分,要么抛出异常

我认为,Hibernate框架的开放性缺陷是存在的


问题是,如果通常可能的话,使用GRAILS进行这样的操作?

添加一个冗余的endDate字段,并运行简单的查询,如betweenhave you Tween executeQuery?根据我的经验,这些查询不值得使用。理论上看起来不错,但有很多问题。我会选择一个标准,看看这是否有效。