Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jpa 如何使用spring数据为MappedSuperclass基类型声明基存储库?_Jpa_Spring Data_Spring Data Jpa - Fatal编程技术网

Jpa 如何使用spring数据为MappedSuperclass基类型声明基存储库?

Jpa 如何使用spring数据为MappedSuperclass基类型声明基存储库?,jpa,spring-data,spring-data-jpa,Jpa,Spring Data,Spring Data Jpa,我们有一个实体类的层次结构,所有实体类都继承自BaseEntity@MappedSuperclass。有没有一种方法可以让spring数据“基本存储库”允许您查询任何基本实体,而无需知道其类型并使用特定的存储库 @MappedSuperclass 公共类基实体{ @身份证 私人长id; 私人字符串所有者; //塞特/盖特等。。。 } @实体 公共类FooEntity扩展了BaseEntity{ 私人字符串foo; } @实体 公共类BarEntity扩展了BaseEntity{ 私人弦杆; }

我们有一个实体类的层次结构,所有实体类都继承自BaseEntity@MappedSuperclass。有没有一种方法可以让spring数据“基本存储库”允许您查询任何基本实体,而无需知道其类型并使用特定的存储库

@MappedSuperclass
公共类基实体{
@身份证
私人长id;
私人字符串所有者;
//塞特/盖特等。。。
}
@实体
公共类FooEntity扩展了BaseEntity{
私人字符串foo;
}
@实体
公共类BarEntity扩展了BaseEntity{
私人弦杆;
}
/**
*如何声明此基础存储库。。。。
*/
公共接口BaseRepository扩展了JpaRepository{
列出findByOwner(字符串所有者);
}
@组成部分
公共类MyService{
@自动连线
专用数据库;
公共无效剂量测定法(){
//…因此可以这样使用:
List entities=baseRepository.findByOwner(“john”);
与(实体)相关的文件;
}
}

我认为实现这一点的唯一方法是创建一个服务类,它将协调对具有所有者属性的存储库类的所有调用。该服务调用将返回您的
BaseEntity
对象列表

Spring或Hibernate如何知道要查询哪个表?听起来你要问的是必须去查询系统中所有具有所有者列的表。是的,你是对的。基本存储库需要对多个存储库执行多个查询。