保存包含ManyToOne关系的类时的Javax验证错误

时间:2014-12-08 13:21:45

标签: java hibernate jpa many-to-one

我想使用entityManager.persist()方法保存Tesis类,但是我收到了以下错误。

引起:javax.validation.UnexpectedTypeException:HV000030:找不到类型为:thymeleafexamples.layouts.acenta.Acenta的验证器。

@Entity
public class Tesis {
public Tesis(){

}

public Tesis(String adi, Acenta acenta) {
    this.adi = adi;
    this.acenta = acenta;
}


@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

@NotEmpty
private String adi;


@NotEmpty
@ManyToOne(fetch = FetchType.EAGER,cascade=CascadeType.ALL)
@JoinColumn(name="acenta_id")
private Acenta acenta;
//GETTERS AND SETTERS
}

/////////////////////////////////////////////// //////////////////////

@SuppressWarnings("serial")
@Entity
public class Acenta implements java.io.Serializable {

public Acenta(String adi) {
    this.adi = adi;
}

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

@NotEmpty
private String adi;

@OneToMany(mappedBy="acenta")
private Set<Tesis> tesiss;
}

1 个答案:

答案 0 :(得分:0)

根据Hibernate Validator的API org.hibernate.validator.constraints.NotEmpty注释

  

“断言带注释的字符串,集合,映射或数组不是   null或空“

基于上述定义Acenta类型不是要检查的有效类型。您可以考虑使用javax.validation.constraints.NotNull注释,因为它对所有类型都有效,而且不是供应商特定的。