Hibernate 休眠,如何避免重复?

Hibernate 休眠,如何避免重复?,hibernate,duplicates,Hibernate,Duplicates,我的表有3列:ID、城市、地区 我的网络服务提供了一个夫妇列表(城市、地区)。我需要避免夫妻(城市、地区)重复 我怎样才能达到这个结果? 我无法使用session.saveOrUpdate(),因为由于ID不同,所有记录看起来总是不同的 请帮帮我 谢谢。评论建议您应该做什么 CONSTRAINT city_district_unique UNIQUE (city, district) 为字段创建唯一约束。当您希望使用Hibernate创建表时,也可以使用JPA注释来完成此操作 @Table(n

我的表有3列:ID、城市、地区

我的网络服务提供了一个夫妇列表(城市、地区)。我需要避免夫妻(城市、地区)重复

我怎样才能达到这个结果? 我无法使用session.saveOrUpdate(),因为由于ID不同,所有记录看起来总是不同的

请帮帮我


谢谢。

评论建议您应该做什么

CONSTRAINT city_district_unique UNIQUE (city, district)
为字段创建唯一约束。当您希望使用Hibernate创建表时,也可以使用JPA注释来完成此操作

@Table(name = "yourtable", uuniqueConstraints = {@UniqueConstraint(columnNames = "subject"), ... })

插入时,您应该从违反上述约束的情况中捕获异常,并正确处理它,例如使用更改的参数重新运行插入或完全忽略它。更好的是,在数据进入休眠状态之前检查数据,以避免事先插入无效的数据。

首先要做的是向表中添加一个约束:
constraint city\u district\u unique unique(city,district)
。确切的语法会因您使用的数据库而异。也许您可以使用由城市和地区属性组成的复合键。1)创建表后是否可以这样做?2) 我找不到有关您语法的MYSql文档