为了账号安全,请及时绑定邮箱和手机立即绑定

如何修复“未找到类型 [entity] 的属性 [repositoryMethod]!

如何修复“未找到类型 [entity] 的属性 [repositoryMethod]!

白衣非少年 2023-05-17 17:53:38
我正在尝试为从另一个实体继承的实体设置一个 Spring Data Jpa 存储库。我正在使用 Spring Boot 2.1.6 和 Spring Data Jpa。我已经研究了这个问题并查看了文档,但我发现的案例虽然相似,但没有一个很好地展示了当我们有实体继承时如何处理类的存储库。这里我有主要课程:@Entity@Inheritance(strategy = InheritanceType.JOINED)public abstract class Person implements Serializable {    private static final long serialVersionUID = 1L;    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    private Long id;    private String name;    // Getters and setters omitted}这里是继承自 Person 的类:@Entity@PrimaryKeyJoinColumn(name="id")public class Driver extends Person   {    private String vehicleModel;    // Getters and setters omitted}所以我创建了一个过滤器以在存储库中使用:public class DriverFilter {    private String vehicleModel;    // Getters and setters omitted}在我创建 DriverQueries 接口之后:public interface DriverQueries {    public Page<Driver> filter(DriverFilter filter, Pageable pageable);}然后我做了它的实现:public class DriverImpl implements DriverQueries {    @Override    public Page<Driver> filter(DriverFilter filter, Pageable pageable) {        // code omitted    }}我创建基本存储库:@NoRepositoryBeanpublic interface People<T extends Person> extends JpaRepository<T, Long> {}最后,我为继承的类创建存储库:@Repositorypublic interface Drivers extends People<Driver>, DriverQueries {}如果我为一个普通类创建一个存储库,遵循与前一个相同的逻辑,一切都会完美无缺。有谁知道可能出了什么问题?谢谢你!
查看完整描述

1 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

如果我们通过类比父类 ( DriverQueries ) - DriverQueriesImpl为类DriverImpl分配正确的名称,此错误就会消失。在这种情况下,被继承的类应该被称为父类加上后缀Impl

Spring对此很严格。


查看完整回答
反对 回复 2023-05-17
  • 1 回答
  • 0 关注
  • 172 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信