是否将ColdFusion(Railo)ORM实体属性中的Now()作为默认值?

是否将ColdFusion(Railo)ORM实体属性中的Now()作为默认值?,orm,coldfusion,railo,Orm,Coldfusion,Railo,我使用的一种常见设计是将当前日期设置为默认日期的日期列。对于SQL Server,我使用getDate()和MySQL now()或current_时间戳 在ORM中实现MySQL解决方案的方法似乎是: property name="dtSaved" ormtype="date" dbdefault="now()"; 但是,这不起作用,但也不会抛出错误。当我运行ORMReload()时,它似乎卡在这个表上,后面的实体(按字母顺序)都没有被创建。(我正在使用dbcreate=“dropcreat

我使用的一种常见设计是将当前日期设置为默认日期的日期列。对于SQL Server,我使用getDate()和MySQL now()或current_时间戳

在ORM中实现MySQL解决方案的方法似乎是:

property name="dtSaved" ormtype="date" dbdefault="now()";
但是,这不起作用,但也不会抛出错误。当我运行ORMReload()时,它似乎卡在这个表上,后面的实体(按字母顺序)都没有被创建。(我正在使用dbcreate=“dropcreate”)


请注意,这是Railo 3.3.1,而不是Adobe ColdFusion 9。

您可以在构造函数中设置动态默认值,如下所示:

component persistent="true" {
property name="measurementDate" ormtype="date";
function any init(){
if (IsNull(variables.measurementDate)){
variables.measurementDate = Now();
}
return this;
 }
}
John Whish的评论–2010年11月22日

发件人:

您是否考虑过在MySQL端使用它作为该列的默认值?您是否尝试过使用current_Timestame而不是Now()?@JakeFeasel我可以这样做,但我尝试将所有建模都保存在代码中。我也可以使用事件或重写setDtSaved()事件,但我希望这样做是“正确的”way@JasonTabler是的,我尝试了这两种方法,并且使用了时间戳或mtype,结果是一样的,在hibernate文档中一定有一些东西。