【发布时间】:2013-12-03 12:01:26
【问题描述】:
我有三个这样的实体:
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "TYPE")
public abstract class A
{
// fields, getters, setters
}
@Entity
@DiscriminatorValue("B")
public class B extends A
{
// fields, getters, setters
}
@Entity
@DiscriminatorValue("C")
public class C extends A
{
// fields, getters, setters
}
我也有一个这样的存储库:
@Repository
public interface ADao extends JpaRepository<A, Long>, JpaSpecificationExecutor<A>
{
}
在这个存储库上,我有一个方法
List<A> findAll(Specification<A> s)
在 JpaSpecificationExecutor 中定义。
我的问题是: 如何使用规范对仅在 B 中声明的字段提出请求?
提前致谢, 杰罗姆
【问题讨论】:
-
你的意思是我应该参数化DAO接口?像这样:公共接口 DAO
extends JpaRepository , JpaSpecificationExecutor ?? -
是的(虽然我不确定 Spring Data JPA 会如何表现)。
-
不幸的是这不起作用...... Spring告诉我它不能“根据路径解析属性”。
-
请更新您的问题并发布您收到的消息/堆栈跟踪(包括更新的代码)。
标签: spring jpa spring-data spring-data-jpa