2

ここに私のモデルがありAdminます:

@RooJavaBean
@RooToString
@RooJpaActiveRecord
public class Admin {

    @NotNull
    @Column(unique = true)
    private String name;

    @NotNull
    private String password;

    @NotNull
    @DateTimeFormat(style = "M-")
    private Timestamp createTime;

    @Transactional
    public void persist(){
        if (this.entityManager == null) this.entityManager = entityManager();
        this.password = DigestUtils.sha256Hex(this.password);
        this.createTime = new Timestamp(new java.util.Date().getTime());
        this.entityManager.persist(this);
    }

}

このcreateTimeフィールドは、将来のビジネス ロジックが参照する可能性があるため、DB のビューからはこのフィールドを null にすることはできませんが、ユーザーのビューからは、後でコードcreate admin formによって入力されるため、表示されることはありません。persist問題は、この時点ではまだであるためAdminController.create、新しく作成されたオブジェクトの検証に失敗したことです。 AdmincreateTimenull

Adminでは、創造を成功させるにはどうすればよいのでしょうか。

4

1 に答える 1

-1

エンティティ (管理者) で @NotNull を回避できます

オブジェクトの作成専用です。(Web フォームまたは DataOnDemand を介したテストで) 作成されるオブジェクトを除いて、すべてのオブジェクトがデータベースから取得される場合、アプリケーションにとっては問題になりません。

于 2012-06-15T21:23:17.333 に答える