在更新/补丁过程中如何跳过“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