【发布时间】:2015-04-13 14:29:19
【问题描述】:
我想知道是否可以使用 springs'query methods 指定特定的子类型。
例如,如果有MailUser 和ChatUser,extend User 和InheritanceType.SINGLE_TABLE - 我可以找到所有MailUsers 和PersonRepository 吗?
或者我可以在多个类extend User 的场景中找到所有Users,不包括所有MailUsers?
public interface PersonRepository extends Repository<User, Long> {
List<Person> findByEmailAddressAndLastname(EmailAddress emailAddress, String lastname);
...
}
【问题讨论】:
-
您的数据库表是什么样的?您使用的是哪种继承映射?
-
哎呀,忘了说
@Inheritance(strategy = InheritanceType.SINGLE_TABLE) -
可以通过判别器选择吗?
-
AFAIK,没有。但是您可以简单地创建一个 ChatUserRepository 和一个 MailUserRepository。
-
可能在这个简约的例子中。在我的用例中,我有 22 个子类型,需要找到 21 个子类型,不包括一个。
标签: spring spring-data spring-data-jpa