2017-05-16 1 views
-1

Ich habe Benutzer Entity, die gmailId Eigenschaft hat. Ich möchte die Bedingung stellen, dass Google Mail-ID mit Google Mail enden muss.Wie der Spaltenwert im Hibernate endet

ich mit RegexMuster versucht, aber seine eine Ausnahme geben sagen, dass

Validierung für Klassen fehlgeschlagen [com.ciphercloud.ae.entities.Users] während beharren Zeit für Gruppen [javax.validation.groups.Default, ] Liste der Einschränkungsverletzungen: [ ConstraintViolationImpl {interpolatedMessage = 'muss mit "gmail.com" übereinstimmen', propertyPath = gmailId, rootBeanClass = Klasse com.ciphercloud.ae.entities.Users, messageTemplate = '{javax.validation.constraints. Muster.Message} '} ].

Was ist die Anmerkung in Hibernate zu verwenden. Meine Nutzer Entitätsdefinition sieht aus wie

@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 

Bitte empfehlen Sie mir, wie Sie den Zustand zu versetzen, der Wert von gmailId einfügen sollte endet mit gmail.com mit Hibernate ????

+0

Sie verwenden die richtige Anmerkung, aber das Regexp-Muster ist falsch. Ich denke, es sollte ungefähr so ​​aussehen: "^. * [Gmail.com] + $" –

Antwort

0

Ändern Regex wie folgt funktioniert gut.

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