在更新/补丁过程中如何跳过“javax.validation”

在更新/补丁过程中如何跳过“javax.validation”,java,hibernate,spring-data-jpa,Java,Hibernate,Spring Data Jpa,我的实体如下所示 @Entity @Table(name = "Contact") @Data public class Contact{ Long Id; String phoneNumber; @javax.validation.constraints.Email(message = "A valid email address is required") private String emailAddress; String type; }

我的实体如下所示

@Entity
@Table(name = "Contact")
@Data
public class Contact{

    Long Id;

    String phoneNumber;

    @javax.validation.constraints.Email(message = "A valid email address is required")
    private String emailAddress;

    String type;
}
我正在更新
Contact
表中现有记录的类型

现有记录

{
    "phoneNumber":"1234567890";
    "emailAddress":"testEamail"
    "type":"1"
}
我正在通过
PATCH
请求将类型更改为2。 但我得到错误“一个有效的电子邮件地址是必需的”,因为现有的电子邮件是在有效的格式。 我无法更改现有的电子邮件地址

知道在更新/补丁过程中如何跳过
javax.validation

我在服务类中保存现有联系人时出错

服务类别代码

Contact contact = contactRepository.getById(id);
contact.setType(2);
contactRepository.save(contact);

验证注释有一个
group
参数,允许将其分配给验证组

Bean验证和JPA完美集成:

JPA规范定义了一组配置参数,用于配置在执行插入、更新和删除操作之前应验证哪些ValidationGroup

见:


但是您想用新的无效值更新/修补
电子邮件地址
字段吗?我无法更新/更改电子邮件。我只更新类型您能否提供有关如何更新您的
联系人#类型的代码
?另外,我不确定我是否正确理解了您的问题,您是说您的数据库中有无效条目,还是说您正在保存无效条目?为什么不能从数据库中检索实体、更改类型并再次保存,或者您正在这样做?为什么要将电子邮件更新为无效值?如果有效,请更改验证批注以反映实际规则。我不会更新电子邮件的现有数据。数据与不同的应用程序共享
favax.persistence.validation.group.pre-persist
javax.persistence.validation.group.pre-update
javax.persistence.validation.group.pre-remove