Поиск по полю в jpa play framework

Я использую JPA в Play 2.2.1. Как мне найти по полю (кроме идентификатора) в моей модели.

У меня есть модель пользователя

@Entity
public class User{

@Id
public  Long id;

@Constraint.Required
@Email
public  String email;

@Constraint.Required
 public String password

}

И я хочу убедиться, что новый пользователь не будет иметь тот же адрес электронной почты

но функция поиска предназначена только для первичного ключа, поэтому как я могу найтиByField(строка электронной почты) в моей модели.

Любая помощь будет оценена по достоинству. Спасибо


person singhakash    schedule 06.12.2014    source источник


Ответы (2)


Есть много способов сделать это. 1) NamedQuery 2) Язык запросов Java Persistence 3) Критерии 4) Собственные запросы ....

person Nisanth Kumar    schedule 06.12.2014

Уникальное ограничение решит вашу проблему, вот код

@Entity
@Table(uniqueConstraints={@UniqueConstraint(columnNames={"email"})})
public class User{

@Id
public  Long id;

@Column(name = "email")
@Constraint.Required
@Email
public  String email;

@Constraint.Required
 public String password

}
person lazy lord    schedule 06.12.2014