0

奇妙に聞こえます。しかし、個人エンティティの会社のフィールド住所を検証する必要があります。Company は Person のフィールドで、Address は Company のフィールドです。

Company in Personエンティティの住所を検証したい。

どうして??以前ではなく 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 クラスの address 属性に注釈 @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 に答える