2

我正在尝试基于 Zentask 示例创建一个简单的登录,但是在第 43 行的 smgts2\app\controllers\Application.java 中出现运行时异常。

public static Result authenticate() {
  Form<Login> loginForm = form(Login.class).bindFromRequest(); //Line 43
  if(loginForm.hasErrors()) {
    return badRequest(login.render(loginForm));
  } else {
    session("user_name", loginForm.get().user_name);
    return redirect(

我已经在 github 中上传了文件:https ://github.com/gscruz/smgts2-start

4

1 回答 1

3

查看您在 GitHub 上的项目,我认为主要问题是Accounts模型类上的 JPA 注释对user_account数据库表进行建模。当您将表单数据绑定到 Login 对象时,模型类上的映射会得到执行,因为Login.validatequeries user_account.

由于您的类的名称与表的名称不匹配,因此您需要一个 JPA@Table注释来显式声明映射:

@Entity
@Table(name = "user_account")
public class Accounts extends Model

您还需要@Column对名称与其对应列不匹配的字段进行注释。试一试,看看它是否能让你走得更远。

于 2013-04-18T16:41:54.890 回答