【发布时间】:2021-05-06 22:22:58
【问题描述】:
这些是我的桌子:
language language_person person
+----+----------+ +----+-----------+-----------+ +----+-----------------+
| id | name | | id | languageId| personId | | id | name |
+----+----------+ +----+-----------+-----------+ +----+-----------------+
| 1 | english | | 1 | 1 | 1 | | 1 | luca |
+----+----------+ +----+-----------+-----------+ +----+-----------------+
| 2 | german | | 2 | 2 | 1 | | 2 | sara |
+----+----------+ +----+-----------+-----------+ +----+-----------------+
| 3 | italian | | 3 | 3 | 1 | | 3 | michael |
+----+----------+ +----+-----------+-----------+ +----+-----------------+
| 4 | 3 | 2 |
+----+-----------+-----------+
| 5 | 2 | 3 |
+----+-----------+-----------+
目前,我正在向 JPA 加载一个人和该人所讲语言的列表。
每个人都至少会说一种语言。现在我想实现一个查询,以获取所有说完全相同且只使用相同语言的人。如果是“卢卡”,我会搜索会说英语、德语和意大利语的人。当使用像WHERE languageId IN (1, 2, 3) 这样的查询进行搜索时,我显然会让所有说至少一种语言的人回来。此外,在搜索“sara”之类的人时,我会搜索只会说意大利语,不会说其他语言的人。
这完全超出我的理解,因此非常感谢任何帮助。
【问题讨论】:
标签: mysql sql jpa relational-database junction-table