1

我正在使用播放!frameworks CRUD 模块,但我无法弄清楚:我的数据库表有一个created字段,该字段基本上是创建行的时间。我不想让我的用户设置这个,我想在后端做,只需添加当前时间。我无法弄清楚如何做到这一点。

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

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

有人可以帮忙吗?

4

2 回答 2

6

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

@PrePersist
public void prePersist() {
    created = new Date();
}
于 2011-05-21T00:34:10.427 回答
0

您可以在 CRUD 模板中使用自定义字段呈现来显示格式化的值或使用您想要的任何控件(即:用于日期的 jquery 日期选择器)。

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

/* Return value may differ */
public void _save() {
   current = new Date();
   super._save();
}
于 2011-05-17T08:34:22.697 回答