1

これは、SQLステートメントの挿入を使用してデータをdbに保存しようとすると問題になります。

私の機能はこれです:

public void save(){
    JPA.em().persist(this);
}

public static Result registered() {
    Form<User> requestform = form(User.class).bindFromRequest();
    if(requestform.hasErrors()){

        return badRequest("<p>fehlerhafte eingabe!</p>").as("text/html");
    } else {
        User user = requestform.get();
        String fullname = user.fullname;
        String email = user.email;
        String password = user.password;
        String username = user.username;
        new User(username, password, fullname, email).save();
    }

    return redirect(controllers.routes.Application.index());

}

手伝ってくれてありがとう

4

1 に答える 1

3

デバッグメッセージに示されているように、メソッドはトランザクションとしてマークされていないため、メソッドにバインドされたエンティティマネージャーはありません。

@play.db.jpa.Transactional
public static Result registered() {

また、EBeanを使用している場合は、データベースで使用するための多くの便利な組み込み関数が付属しているUserクラスのModelを拡張できます。ドキュメントはこちらをご覧ください:http ://www.playframework.org/documentation/2.0.1/ JavaEbean

于 2012-06-19T13:28:03.300 に答える