我想确保表中的所有行都有两个字段的唯一组合,我想在我的实体类中使用注释来指定它.我尝试过使用@Table和@UniqueConstraint的组合,但显然我做错了,因为我似乎只能指定单独的列应该是唯一的(我已经可以使用@ Column的独特属性指定)比列的组合.例如,我想要一个表,其中字段A和B只包含具有A和B的唯一组合的行.字段/列都不需要是唯一的,它们是两者的组合,应该是唯一的.
这是我到目前为止所尝试过的,没有任何乐趣:
@Table(name = "MY_TABLE", 
       uniqueConstraints = @UniqueConstraint(columnNames = 
                                             { "FIELD_A", "FIELD_B" }))
和
@Table(name = "MY_TABLE", 
       uniqueConstraints = { @UniqueConstraint(columnNames = 
                                               { "FIELD_A", "FIELD_B" }) })
有人可以建议正确的方法吗?此外,如果可以使用JPA注释而不是特定于Hibernate的注释,那么这是更可取的.
在此先感谢您的帮助.
- 詹姆士
我搜索了列中的重复条目和Oracle:在select查询中找到重复的行,但似乎无法得到任何答案...
我有一些看起来像这样的数据
columnA    columnB    columnC
1111111    emailID1   true
1111111    emailID2   false
1111222    emailID3   true
1111339    emailID4   true
2384398    emailID5   true
我想只显示这些列在columnA中具有相同值但在columnB和/或C中可能不同的列:
columnA    columnB    columnC
1111111    emailID1   true
1111111    emailID2   false
使用>> 1似乎并没有抓住这个,任何想法?谢谢.
我有一个包含 14 列的表,可以将其称为“column_1 - column_14”。我需要一个在两个字段(即column_1 和column_2)组合上唯一的表。此表中不能有任何实例,其中列_1 和列 2 中有多行包含相同的信息。为了清楚地理解我的意思,我引用了这篇文章来识别我所说的重复项。
我参考过这个帖子
现在,我需要学习如何从表中删除这些行,因此我留下了基于第 1 列和第 2 列的完全唯一的行。
谢谢
我有一个包含 id、a 和 b 列的表。
a+b 应该是唯一的,但这是一个未正确约束的遗留数据库。如何获取 a+b 不唯一的记录的一组 id?
如果我有
ID A B
1  2 3
2  2 3
3  1 3
4  1 4
然后我想从查询中获取记录 1 和 2。