0

听起来很奇怪。但我需要在个人实体中验证公司的字段地址。Company 是 Person 字段,Addres 是 Company 字段。

我想在个人实体中验证公司的地址。

为什么??因为如果我以前在 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;
}
4

1 回答 1

0

基本上,您可以使用 Company 类的地址属性上的注释 @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;
    }
}
于 2012-11-14T15:21:36.253 回答