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时,我需要将其设为红色。应在该类模型中进行特别验证?发现类似问题: