让我们假设我有一个超级类A,它带有一个复合主键(id1和id2)和一个通用值字段,以及两个子类:B和C。
考虑这种情况:
表B:
+----------------+-------+
| id_1 | id_2 | value |
+------+---------+-------+
| 1 | 1 | 20.3 |
| 1 | 2 | 40.58 |
+------+---------+-------+
表C:
+----------------+-------+
| id_1 | id_2 | value |
+------+---------+-------+
| 1 | 1 | 93.5 |
+------+---------+-------+
当我从CrudRepository中调用id1 = 1和id2 = 1的“ findAllById1EqualsAndId2Equals”方法时,结果是:
B(20.3), B(20.3)
正确的结果应该是:
B(20.3), C(93.5)
如何在不为每个子类创建CrudRepositroy的情况下解决此问题?