【问题标题】:How to use hibernate validator on mapped entities如何在映射实体上使用休眠验证器
【发布时间】:2016-03-16 14:21:42
【问题描述】:

我是 hibernate 和 spring 的新手,我想知道如何使用 hibernate 验证器来映射实体类,例如: 如果我有以下一对一的实体类他们之间的关系。如何使用休眠验证器的@NotNull 等注释验证两个实体的以下字段:“personName、personPhone、personEmail、addressLine1、addressLine2、city、state 和 zipCode”。

@Entity
@Table ( name = "person" )
public class FacilityModel {

    @Id
    @GeneratedValue ( strategy = GenerationType.IDENTITY )
    @Column ( name = "pers_id" )
    private int persId;

    @Column ( name = "pers_name" )  
    private String personName;

    @OneToOne ( cascade = CascadeType.ALL )
    @JoinColumn ( name = "pers_Addr_Id" )
    private AddressModel address;

    @Column ( name = "pers_phone_no" )
    private String personPhone;

    @Column ( name = "pers_email" )
    private String personEmail;

@Entity
@Table ( name = "address" )
public class AddressModel {

    @Id
    @GeneratedValue ( strategy = GenerationType.IDENTITY )
    @Column ( name = "addr_id" )
    private int addrId;

    @Column ( name = "addr_address_line1" )
    private String addrLine1;

    @Column ( name = "addr_address_line2" )
    private String addrLine2;

    @Column ( name = "addr_city" )
    private String city;

    @Column ( name = "addr_state" )
    private String state;

    @Column ( name = "addr_country" )
    private String country;

    @Column ( name = "addr_zip_code" )
    private String zipCode;

另外,除了@Valid 注解和 BindingResult 在处理程序方法中,我是否需要在控制器中包含任何其他代码。

请任何人帮助我。

【问题讨论】:

  • 如果有人知道请帮助我。

标签: spring hibernate spring-mvc


【解决方案1】:

您只需要在字段上添加要验证的注释,在保存之前休眠会检查您的值是否正确。

http://hibernate.org/validator/

如果在您的控制器中添加注释@Valid,您还可以看到您拥有的对象无法保存。

【讨论】:

  • 我无法验证 AddressModel 类字段。
  • @karthi 如果您在FacilityModeladdress 属性上添加@Valid,它应该会导致您的AddressModel 上的验证开始触发。
猜你喜欢
  • 1970-01-01
  • 2015-10-31
  • 1970-01-01
  • 2019-12-03
  • 2020-12-18
  • 2016-02-14
  • 1970-01-01
  • 2010-10-06
相关资源
最近更新 更多