7

@PrePersistand @PreUpdatewith Ebeanand Playが使えるか知りたい!2.0。もしそうなら、この機能はどのようにアクティブ化されますか。1 か月前にこの機能を追加するプル リクエストがあったことを確認しましたが、これを Play 2.0 で機能させることはできません。

ありがとう

4

4 に答える 4

10

目標が単に createdAt または updatedAt フィールドを設定することであり、EBean を使用している場合は、 と を試し@CreatedTimestampてください@UpdatedTimestampここを参照してください。私は Biesior のアプローチを使用したいと思いますが、Cascades では失敗したようです。メソッドは呼び出されませんでした。

@Column(name="created_at")
@CreatedTimestamp
private Date createdAt;

@Column(name="updated_at")
@UpdatedTimestamp
private Date updatedAt;
于 2013-02-13T04:50:18.220 に答える
4

直接的な答えではありませんが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);
    }


}
于 2012-09-09T12:38:06.617 に答える
3

前処理オプションと後処理オプションを提供するBeanPersistControllerを実装する方法のようです。

Play で設定するには、次のようにファイルを変更application.confます。

ebean.default="models.*,models.adapters.YourPersistController".

于 2012-09-03T12:26:08.497 に答える
1

私はこれに本当に遅れていますが、これを使用できます: https://gist.github.com/1547244。次のように、このクラスを application.conf に登録する必要があります。

ebean.default="models.*, models.sgcore.SGBeanPersistController"
于 2012-12-20T13:50:57.383 に答える