java实体没有表单对象所需的字段
我有一个实体:
public class User {
private Long id;
private String name;
private String lastName;
private String email;
private String password;
// getters and setters
}
我想将它用作表示层中的表单支持对象,但它没有我需要的字段。在这种情况下,我需要repeatedPassword字段
在不修改实体类的情况下,解决此问题的最佳方法是什么
我应该扩展这个实体类并添加所需的字段吗
我应该创建一个新类,该类有一个带有getter和setter的字段private User user;
我是否应该复制/粘贴此类,然后添加所需字段
# 1 楼答案
三种不同的解决方案:
处理表单上的输入字段与实体不匹配的情况的通常方法是使用命令对象(这是Sotirios在注释中提倡的)。与扩展实体以添加与持久性无关的内容相比,为该对象创建一个非实体的单独对象要简单得多
在这种情况下,可以认为没有必要将
repeatedPassword
字段传递回服务器,验证可以完全在客户机上完成,输入字段根本不需要绑定到Java pojo如果您确实想将
repeatedPassword
传递回服务器(这样您可以在服务器上执行所有验证,尽管重复密码比真正的验证更方便用户),那么您可以使用@Transient声明将repeatedPassword
字段添加到用户实体中