听起来很奇怪。但我需要验证公司人员实体的Adress。 公司是Person和Addres的公司所在地。
我想验证公司个人实体的地址。
为什么?因为如果我之前在Person实体中使用它,公司应该有一个地址吗?
如何实施此验证?
@Entity
@Table(schema = Constants.DB_SCHEMA)
public class Person{
Company company;
// Validation of the address should come here ???
public Company getCompany() {
return company;
}
}
@Entity
@Table(schema = Constants.DB_SCHEMA)
public class Company{
String address;
}
答案 0 :(得分:0)
基本上,你可以使用公司类的地址属性上的注释@NotNull来做到这一点。
但是:您当前的代码无论如何都不会起作用,因为您没有指定类之间的关系而您没有主键....
以下是一个如何运作的示例:
@Entity
public class Person {
@Id
@GeneratedValue
private Long id;
@OneToOne(cascade= CascadeType.ALL)
private Company company;
public Company getCompany() {
return company;
}
public void setCompany(Company company) {
this.company = company;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
和
@Entity
public class Company {
@Id
@GeneratedValue
private Long id;
@NotNull
private String adress;
public String getAdress() {
return adress;
}
public void setAdress(String adress) {
this.adress = adress;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}