【问题标题】:Now() in ColdFusion (Railo) ORM entity property as a default?ColdFusion(Railo)ORM实体属性中的Now()作为默认值?
【发布时间】:2012-01-31 02:05:53
【问题描述】:

我使用的一个常见设计是设置一个以当前日期为默认值的日期列。对于 SQL Server,我使用 getDate(),对于 MySQL now() 或 current_timestamp。

在 ORM 中实现 MySQL 解决方案,似乎是这样:

property name="dtSaved" ormtype="date" dbdefault="now()";

但是,这不起作用,但也不会引发错误。当我运行 ORMReload() 时,它似乎卡在了这张表上,并且(按字母顺序)之后的实体都没有被创建。 (我正在使用 dbcreate="dropcreate")

请注意,这是 Railo 3.3.1,而不是 Adob​​e ColdFusion 9。

【问题讨论】:

  • 你有没有考虑在 MySQL 端做它,作为那里列的默认值?
  • 您是否尝试使用 current_timestampe 而不是 Now()?
  • @JakeFeasel 我可以这样做,但我试图将所有建模都保留在代码中。我也可以使用事件或覆盖 setDtSaved() 事件,但我想以“正确”的方式进行
  • @JasonTabler 是的,我都试过了,以及使用时间戳 ormType,结果相同
  • 嗯,hibernate 文档中一定有一些东西。

标签: orm coldfusion railo


【解决方案1】:

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

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 日

来自: http://www.aliaspooryorik.com/blog/index.cfm/e/posts.details/post/coldfusion-9-orm-example-215

【讨论】:

    猜你喜欢
    • 2011-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-23
    • 1970-01-01
    • 1970-01-01
    • 2012-11-30
    • 1970-01-01
    相关资源
    最近更新 更多