玩!框架CRUD模块:添加默认值并更改日期格式?

时间:2011-05-16 22:16:06

标签: java date playframework default playframework-1.x

我正在玩Play!框架CRUD模块,但我无法弄清楚:我的数据库表有一个created字段,基本上是一行创建的时间。我不希望我的用户设置它,我想在后端执行,只需添加当前时间。我不知道怎么做。

我使用@Hidden使该字段不可见但显然现在我无法创建新行,因为它的值根本没有设置。那我该怎么做呢?

我有另一个问题:我的表还有一个名为publish的列,这是另一个时间戳。 CRUD表单中此字段的当前格式为yyyy-MM-dd。我想指定一个日期,也无法弄清楚如何...

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:6)

您可以使用javax.persistence.PrePersist批注来设置创建日期。将此方法放在您的模型中:

@PrePersist
public void prePersist() {
    created = new Date();
}

答案 1 :(得分:0)

您可以在CRUD模板中使用custom field rendering来显示格式化的值或使用您想要的任何控件(即:日期的jquery日期选择器)。

要隐藏值并指定默认值,首先通过删除字段从CRUD的编辑/空白表单中删除值。然后从实体覆盖_save()方法(注意初始_,你想要_save(),而不是save())并在调用super._save()之前在代码中设置你想要的值。像这样:

/* Return value may differ */
public void _save() {
   current = new Date();
   super._save();
}