【发布时间】:2015-07-03 17:20:22
【问题描述】:
我有相当复杂的 JPA 实体。在我的页面上有一个表格,填写后创建实体。
但是实体包含很少的@Embedded 对象,它们的字段也需要填写。
让我们假设一个像这样的实体:
@Entity
public class User {
@Embedded
private Address address;
@Embedded
private PersonalData personalData;
}
和@Embeddable 对象:
public class Address {
private String city;
private String street;
//and so on..
}
public class PersonalData {
private String username;
private String password;
private String nameAndLastname;
//and so on..
}
在这种情况下,是否可以将 HTML 页面中的表单直接绑定到该实体中?
我考虑过创建一些 DTO 对象,其中包含表单具有的所有必需字段,然后将该 UserDTO 转换为 User 实体对象。 但是我认为它会给我带来更多的复杂性和冗余代码。 (这不是反模式吗?)
我可以在控制器的方法中创建大量 @RequestParam 的列表,而不是 @ModelAttribute 绑定,但是代码变得很长而且不够优雅。
如何让它优雅地工作? 谢谢!
【问题讨论】: