java - 创建没有实体的spring存储库

标签 java spring spring-boot jpa spring-data-jpa

我想使用spring数据存储库接口(interface)来执行 native 查询-我认为这种方式是最简单的,因为复杂度低。

但是在扩展接口(interface)时。 CrudRepository<T, ID>我需要写 T - 我的实体,它不可用。

我的 native 查询不返回任何具体实体,那么在没有实体的情况下创建 spring 存储库的最佳方法是什么?

最佳答案

CrudRepositoryJpaRepository没有 <Entity,ID> 就无法工作一对。

你最好创建一个自定义仓库,注入(inject) EntityManager 并从那里查询:

  @Repository
  public class CustomNativeRepositoryImpl implements CustomNativeRepository {

    @Autowired
    private EntityManager entityManager;

    @Override
    public Object runNativeQuery() {
        entityManager.createNativeQuery("myNativeQuery")
         .getSingleResult();
    }
}

关于java - 创建没有实体的spring存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55513776/

相关文章:

Spring-boot 使用 schema.sql 和 data.sql 填充 H2 数据库

java - 共享首选项不起作用,默认值

java - 如何在单元测试期间在基于 Spring Java 配置的应用程序中初始化 log4j2?

java - Guava map 中驱逐的懒惰

java - 将 PROPAGATION_REQUIRED_NEW 与两个单独的 spring bean 一起使用时的 Oracle 数据库锁定

java - 从 ServerSOAPFaultException 读取 CXF 异常消息详细信息

twitter-bootstrap - intelliJ html 类属性自动完成

spring - 如何使用 mockito 在 spring boot 中测试资源加载器

java - 服务器如何只允许预先批准的客户端与其通信

java - 使用正则表达式在字符串(a href)中查找片段