Hibernate 将@Required约束应用于带有@ManyToOne注释播放框架的jpa实体
我在将验证约束应用于类属性时遇到问题 例如,我有一门课:Hibernate 将@Required约束应用于带有@ManyToOne注释播放框架的jpa实体,hibernate,jpa,playframework-2.2,Hibernate,Jpa,Playframework 2.2,我在将验证约束应用于类属性时遇到问题 例如,我有一门课: @Entity public class user { @Id @GeneratedValue(strategy=GenerationType.AUTO) public int id; @Required public String name; @ManyT
@Entity
public class user {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public int id;
@Required
public String name;
@ManyToOne(cascade = CascadeType.MERGE)
@Required
public Company company;
}
当我将@Required应用于parametr:name时,它会起作用。
但当我为parametr:company添加adnotation@manytone时,它就不再工作了。
当我删除@ManyToOne adnotation时,它会再次工作。
请帮帮我
公司类别:
@Entity
public class Company {
@Id
@Constraints.Required
@GeneratedValue(strategy=GenerationType.IDENTITY)
public Long id;
@Constraints.Required
public String name;
@Constraints.Required
public String date;
}
由于您使用的是
@ManyToOne
,因此可以获得DB验证,以便公司字段不可为空。如果你使用
@ManyToOne(cascade = CascadeType.MERGE)
@JoinColumn(name="company", nullable=false, optional=false)
public Company company;
和@Required
检查客户端验证。因此,您可以创建一个方法来处理验证。这是等效的
public String validate() {
if(company == null) {
return "Company Field Cannot be Empty";
}
return null;
}
所以,如果我使用“@ManyToOne”关系,我必须进行定制的特别验证?我已将“@Required”adnotation添加到类公司的参数id中。现在在fom中,我可以看到约束:required。现在,当输入为null时,我需要将其设为红色。应在该类模型中进行特别验证?发现类似问题: