如何设置列值以hibernate结尾

时间:2017-05-16 12:38:35

标签: hibernate bean-validation hibernate-validator

我有用户实体,它有gmailId属性。我想把gmail id必须以gmail.com结尾的条件。

我尝试使用正则表达式模式,但它给出了一个例外说明

在群组的持续时间[com.ciphercloud.ae.entities.Users]中验证失败[javax.validation.groups.Default,] 违反约束的清单:[     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结尾的条件????

1 个答案:

答案 0 :(得分:0)

将正则表达式更改为如下工作正常。

@Pattern(regexp = ".*(@gmail.com)")
private String gmailId;