1

我有实体:

public class User {
  private Long id;
  private String name;
  private String lastName;
  private String email;
  private String password;

  // getters and setters
}

我想将它用作表示层中的表单支持对象,但它没有我需要的字段。在这种情况下,我需要重复密码字段。

在不修改实体类的情况下解决此问题的最佳方法是什么?
我应该扩展这个实体类并添加所需的字段吗?我应该创建一个包含 getter 和 setter
字段的新类吗? 我应该复制/粘贴这个类然后添加需要的字段吗?private User user;

4

1 回答 1

1

三种不同的解决方案:

  • 处理表单上的输入字段与实体不匹配的情况的常用方法是使用 Command 对象(这是 Sotirios 在评论中提倡的)。为此创建一个不是实体的单独对象比扩展实体以添加与持久性无关的东西要容易得多。

  • 有人认为,在这种情况下,不需要将repeatedPassword字段传回服务器,验证可以完全在客户端完成,输入字段根本不需要绑定到 Java pojo。

  • 如果您真的想将repeatedPassword回传给服务器(这样您就可以在服务器上进行所有验证 - 尽管重复的密码比真正的验证更方便用户),那么您可以将该repeatedPassword字段添加到 User 实体@Transient 声明。

于 2013-08-20T20:32:26.153 回答