【发布时间】:2017-07-05 10:48:08
【问题描述】:
我正在用 spring 学习休眠。在实现时,我正在创建如下所示的实体类
@Entity
@Table(name = "USER_DETAILS", uniqueConstraints = @UniqueConstraint(columnNames = "USER_ID"))
public class UserInfo implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "USER_KEY", unique = true, nullable = false)
private Long userKey;
@Column(name = "USER_ID", unique = true, nullable = false)
private String userId;
//getters and setters
}
我正在设计一个 html 页面来获取用户的上述输入。根据教程,他们正在创建一个具有相同变量的 DTO 类,这些变量在 DAO 实体类中,并在将该 DTO 附加到如下表单之后实现 JSR303 验证。
<sf:form action="/addUser" commandName="userDTO"
method="post">
//input text boxes
</sf:form>
很难理解为什么我们需要再次创建一个相同的 DAO 实体类,而没有休眠注解和 DTO 名称中的相同变量。请分享一些指导方针。
这是一种最佳实践,还是我们需要为 html 表单创建 DTO 类的任何性能/结构原因。
如果我们直接用表单附加DAO实体类会发生什么。
请提供一些想法/指南。
【问题讨论】:
标签: java spring hibernate spring-mvc spring-boot