【发布时间】:2017-10-15 13:12:55
【问题描述】:
我的用户实体具有 gmailId 属性。我想提出 gmail id 必须以 gmail.com 结尾的条件。
我尝试了正则表达式模式,但它给出了一个例外,说
在组 [javax.validation.groups.Default, ] 的持续时间内,类 [com.ciphercloud.ae.entities.Users] 的验证失败 约束违规列表:[ ConstraintViolationImpl{interpolatedMessage='必须匹配“gmail.com”', propertyPath=gmailId, rootBeanClass=class com.ciphercloud.ae.entities.Users, messageTemplate='{javax.validation.constraints.Pattern.message}'} ].
hibernate 中使用的注解是什么。我的用户实体定义看起来像
@Entity
@Table(uniqueConstraints = @UniqueConstraint(columnNames = "gmailId"))
public class Users {
@Id
@GenericGenerator(name = "sequence_user_id", strategy = "com.ciphercloud.ae.generators.UserIdGenerator")
@GeneratedValue(generator = "sequence_user_id")
@Column(name = "id", insertable = false, updatable = false)
private String user_id;
@Pattern(regexp = "\gmail.com$")
private String gmailId;
private String role;
// all setters and getters
请建议我如何使用 hibernate 设置 gmailId 的插入值应以 gmail.com 结尾的条件????
【问题讨论】:
-
您使用了正确的注释,但您的正则表达式模式是错误的。我认为应该是这样的:“^.*[gmail.com]+$”
标签: hibernate bean-validation hibernate-validator