我正在使用弹簧数据 jpa。我将 InheritanceType.JOINED 用于我的继承策略。假设我有以下实体关系:
Animal (abstract class)
Cow extends Animal
Pig extends Animal
Cat extends Animal
etc..
每个动物都有一个“类型”列,其中填充了类的名称。
如何在不加入每个子类表的情况下查询动物类型的某些子集?例如,如果我想检索所有牛和猪,但不检索任何猫。
我已经尝试过@Query("select a from Animal where a.type in (Cow, Pig)")
,但这仍然会在 Cat 表上执行 LEFT JOIN,这是不可取的。
有一些解决方法吗?