繁体   English   中英

实体没有表单对象所需的字段

[英]Entity doesn't have fields required for Form Object

我有实体:

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

  // getters and setters
}

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

在不修改实体类的情况下解决此问题的最佳方法是什么?
我应该扩展此实体类并添加所需的字段吗?
我应该创建一个具有private User user;字段的新类private User user; 与吸气剂和二传手?
我应该复制/粘贴此类,然后添加所需的字段吗?

三种不同的解决方案:

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

  • 在这种情况下,有人争辩说,不需要将repeatedPassword字段传递回服务器,可以完全在客户端上进行验证,并且完全不需要将输入字段绑定到Java pojo。

  • 如果你真的想通过repeatedPassword回服务器(所以你可以做的server--所有的验证虽然反复密码更多的是一种方便用户不是真正的验证),那么你可以在添加repeatedPassword领域用户具有@Transient声明的实体。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM