У меня есть класс:
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
private String name;
private int passport;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof User)) return false;
User user = (User) o;
return passport == user.passport &&
Objects.equals(name, user.name);
}
@Override
public int hashCode() {
return Objects.hash(name, passport);
}
}
Как видите, идентификатор генерируется, но уникальность записи должна проверяться другими полями. Для этого я использую HQL:
Query query = session.createQuery("from Pilot where name:=name and passport=:passport");
Как применить коллекции для проверки уникальности записи?