首页 > 解决方案 > 如何在 Java 中为 Springboot 实现通用存储库

问题描述

我不知道该怎么做。我试过这种方式。

public interface FoodRepository<E extends Object> extends JpaRepository<E, Long>, JpaSpecificationExecutor<E> {
    
}


@Log4j2
@Service
public class FoodService {

    @Autowired
    private FoodRepository<FoodAudEntity> afoodRepository;
    private final EntityManager entityManager;

    public foodService(EntityManager entityManager) {
        this.entityManager = entityManager;
    }
 }

所以我需要一个用于多种食物的通用存储库。我得到了这样的错误: -

创建名为“FoodService”的 bean 时出错:通过字段“foodRepository”表示的依赖关系不满足;嵌套异常是 org.springframework.beans.factory.BeanCreationException:在 JpaConfiguration 上声明的 @EnableJpaRepositories 中定义的 com.test.FoodRepository 中创建名称为“foodRepository”的 bean 时出错:调用 init 方法失败;嵌套异常是 java.lang.IllegalArgumentException: Not a managed type: class java.lang.Object

我该如何实施?有什么办法吗?

FoodAudEntity 类:-

@Entity
@Table(name = "FOOD_AUD_ENTITY")
public class FoodAudEntity{


    @Id
    @GeneratedValue
    @Column(name = "id")
    private Long id;

    @Version
    @Column(name = "version")
    private Long version;

    @Column(name = "name")
    private String name;

}

标签: javaspringspring-data-jpa

解决方案


推荐阅读