@PrePersist
and @PreUpdate
with Ebean
and Playが使えるか知りたい!2.0。もしそうなら、この機能はどのようにアクティブ化されますか。1 か月前にこの機能を追加するプル リクエストがあったことを確認しましたが、これを Play 2.0 で機能させることはできません。
ありがとう
@PrePersist
and @PreUpdate
with Ebean
and Playが使えるか知りたい!2.0。もしそうなら、この機能はどのようにアクティブ化されますか。1 か月前にこの機能を追加するプル リクエストがあったことを確認しましたが、これを Play 2.0 で機能させることはできません。
ありがとう
目標が単に createdAt または updatedAt フィールドを設定することであり、EBean を使用している場合は、 と を試し@CreatedTimestamp
てください@UpdatedTimestamp
。ここを参照してください。私は Biesior のアプローチを使用したいと思いますが、Cascades では失敗したようです。メソッドは呼び出されませんでした。
@Column(name="created_at")
@CreatedTimestamp
private Date createdAt;
@Column(name="updated_at")
@UpdatedTimestamp
private Date updatedAt;
直接的な答えではありませんがModel
、モデルのクラスのメソッドをオーバーライドすることでこれらの機能をシミュレートできます。
public class Post extends Model {
// ....
@Override
public void save() {
this.createDate = new Date();
this.modifyDate = new Date();
super.save();
}
@Override
public void update(Object o) {
this.modifyDate = new Date();
super.update(o);
}
}
前処理オプションと後処理オプションを提供するBeanPersistControllerを実装する方法のようです。
Play で設定するには、次のようにファイルを変更しapplication.conf
ます。
ebean.default="models.*,models.adapters.YourPersistController"
.
私はこれに本当に遅れていますが、これを使用できます: https://gist.github.com/1547244。次のように、このクラスを application.conf に登録する必要があります。
ebean.default="models.*, models.sgcore.SGBeanPersistController"