在Spring data JPA中,如何从没有实体存储库的表中查询数据

时间:2018-12-07 05:56:21

标签: spring spring-boot jpa spring-data-jpa

是否可以从表中获取数据而无需为此特定表创建JPA存储库。 我需要这样做,因为有很多实体需要进行简单的查询,为每个实体创建存储库会很浪费。

1 个答案:

答案 0 :(得分:3)

您可以简单地将EntityManager注入任何组件:

@Component
class SomeComponent {

    @PersistenceContext
    private EntityManager entityManager;

    public List<SomeEntity> findAllEntities() {
        TypedQuery<SomeEntity> query = em.createQuery("SELECT e FROM SomeEntity e", SomeEntity.class);
        return query.getResultList();
    }
}

此外,如果您的实体具有相同的超类,则可以对所有实体使用相同的存储库,如there所述。