database - [RuntimeException : No EntityManager bound to this thread. Try to annotate your action method with @play.db.jpa.Transactional]

标签 database playframework

一旦我尝试使用 sql 语句插入将数据保存到数据库中,这就是问题所在。

我的功能是这样的:

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());

}

感谢帮助

最佳答案

就像调试消息所说的那样,您没有将实体管理器绑定(bind)到您的方法,因为它们没有标记为事务。

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

此外,如果您使用的是 EBean,您可以只为您的 User 类扩展 Model,它带有许多方便的内置函数供数据库使用,请参阅此处的文档:http://www.playframework.org/documentation/2.0.1/JavaEbean

关于database - [RuntimeException : No EntityManager bound to this thread. Try to annotate your action method with @play.db.jpa.Transactional],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11101593/

相关文章:

MySQL : writing query for relational tables for strict categories

sql - Access 数据库,通过最大问题选择组

mongodb - 在 mongodb 中四舍五入到小数点后两位

java - 泛型和 Play 框架

xml - 发布 DTD/XXE XML 时测试 Scala Play 行为

php - 从 Mysql 数据库中插入和检索图像

php - 用户 'user' @'localhost' 的访问被拒绝(使用密码 : NO)

MongoDB 数据库,按一个字段排序,该字段是一个字符串字段,但其中有一个数字

scala - Play Framework 2.X 和阻塞数据库调用

java - 使用 play 框架登录多个文件