【发布时间】:2020-04-11 22:19:28
【问题描述】:
我有一堂课:
@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);
}
}
如您所见,生成了ID,但记录的唯一性必须通过其他字段进行检查。为此,我使用 HQL:
Query query = session.createQuery("from Pilot where name:=name and passport=:passport");
如何应用集合来检查记录的唯一性?
【问题讨论】:
标签: java hibernate hashmap hql