一旦我尝试使用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());
}
感谢您的帮助
就像调试消息所说的那样,您没有绑定到方法的实体管理器,因为它们未标记为事务。
@play.db.jpa.Transactional
public static Result registered() {
此外,如果您使用的是 EBean,则可以为您的 User 类扩展 Model,该类附带了许多方便的内置函数供数据库使用,请参阅此处的文档:http://www.playframework.org/documentation/2.0.1/JavaEbean