如何解决如何在Hibernate中的嵌入式实体上设置属性
我有一个向其发送电子邮件和用户密码的登录URL。通常,我将一一提取参数并将其设置为我的User实体类的属性。我不打算这样做,而是想使用BeanUtils的populate方法将请求参数直接分配给属性。
我正在尝试避免执行以下操作:字符串email = request.getParameter(“ email”)
我的用户实体为:
@Entity
@Table(name = "sc_users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="user_id")
private int id;
@Embedded
private Person person;
@Column(columnDefinition = "VARCHAR(255)")
private String image;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="user_group_id",nullable = false,referencedColumnName = "user_group_id")
@JsonBackReference
private UserGroup userGroup;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public UserGroup getUserGroup() {
return userGroup;
}
public void setUserGroup(UserGroup userGroup) {
this.userGroup = userGroup;
}
}
我有一个可嵌入的实体,
@Embeddable
public class Person {
@NotNull
@Column(name="firstname",columnDefinition = "VARCHAR(32)")
private String firstName;
@NotNull
@Column(name="lastname",columnDefinition = "VARCHAR(32)")
private String lastName;
@NotNull
@Column(nullable = false,columnDefinition = "VARCHAR(96)")
private String email;
@NotNull
@Column(nullable = false,columnDefinition = "VARCHAR(24)")
private String telephone;
@NotNull
@Column(nullable = false,columnDefinition = "VARCHAR(255)")
private String password;
@Column(nullable = false,columnDefinition = "TINYINT(1) DEFAULT 1")
private boolean status;
@Column(name = "date_added",updatable=false,columnDefinition = "DATETIME DEFAULT CURRENT_TIMESTAMP")
@Temporal(value = TemporalType.TIMESTAMP)
private Date dateAdded;
// Setters and Getters ommitted for brevity
}
我的servlet是:
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
// Code omitted for brevity
User user = new User();
BeanUtils.populate(user,request.getParameterMap());
// Code omitted for brevity
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。