我想确保表中的所有行都有两个字段的唯一组合,我想在我的实体类中使用注释来指定它.我尝试过使用@Table和@UniqueConstraint的组合,但显然我做错了,因为我似乎只能指定单独的列应该是唯一的(我已经可以使用@ Column的独特属性指定)比列的组合.例如,我想要一个表,其中字段A和B只包含具有A和B的唯一组合的行.字段/列都不需要是唯一的,它们是两者的组合,应该是唯一的.
这是我到目前为止所尝试过的,没有任何乐趣:
@Table(name = "MY_TABLE",
uniqueConstraints = @UniqueConstraint(columnNames =
{ "FIELD_A", "FIELD_B" }))
Run Code Online (Sandbox Code Playgroud)
和
@Table(name = "MY_TABLE",
uniqueConstraints = { @UniqueConstraint(columnNames =
{ "FIELD_A", "FIELD_B" }) })
Run Code Online (Sandbox Code Playgroud)
有人可以建议正确的方法吗?此外,如果可以使用JPA注释而不是特定于Hibernate的注释,那么这是更可取的.
在此先感谢您的帮助.
- 詹姆士
我搜索了列中的重复条目和Oracle:在select查询中找到重复的行,但似乎无法得到任何答案...
我有一些看起来像这样的数据
columnA columnB columnC
1111111 emailID1 true
1111111 emailID2 false
1111222 emailID3 true
1111339 emailID4 true
2384398 emailID5 true
Run Code Online (Sandbox Code Playgroud)
我想只显示这些列在columnA中具有相同值但在columnB和/或C中可能不同的列:
columnA columnB columnC
1111111 emailID1 true
1111111 emailID2 false
Run Code Online (Sandbox Code Playgroud)
使用>> 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
Run Code Online (Sandbox Code Playgroud)
然后我想从查询中获取记录 1 和 2。