Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.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
Java 在Spring Boot JPA Hibernate中将SELECT结果插入表的自定义SQL查询_Java_Hibernate_Spring Boot_Jpa_Spring Data Jpa - Fatal编程技术网

Java 在Spring Boot JPA Hibernate中将SELECT结果插入表的自定义SQL查询

Java 在Spring Boot JPA Hibernate中将SELECT结果插入表的自定义SQL查询,java,hibernate,spring-boot,jpa,spring-data-jpa,Java,Hibernate,Spring Boot,Jpa,Spring Data Jpa,我有一个使用JPA hibernate的spring引导项目 我试图创建一个自定义查询,将select的结果插入到表中。我该怎么做 这是我的SQL查询: INSERT INTO aggregateTable ( SELECT avgSalesA, avgSalesB, salesMade, tableA.employeeid FROM ( SELECT avg(sales) a

我有一个使用JPA hibernate的spring引导项目

我试图创建一个自定义查询,将
select
的结果插入到表中。我该怎么做

这是我的SQL查询:

INSERT INTO aggregateTable

  (
    SELECT
      avgSalesA,
      avgSalesB,
      salesMade,
      tableA.employeeid
    FROM

      (
        SELECT
          avg(sales) as avgSalesA,
          count(salesMadeDaily) as SalesMadeTotal,
          employeeid
        FROM companyA
        GROUP BY employeeid
      ) tableA

    INNER JOIN

    (
      SELECT
        avg(sales) as avgSalesB,
        employeeid
      FROM companyB
      GROUP BY employeeid
    ) tableB

    ON tableA.employeeid = tableB.employeeid
  )

您可以简单地使用JPA:

entityManager.executeUpdate("INSERT INTO aggregateTable (Select avgSalesA, avgSalesB, 
                             salesMade, tableA.employeeid FROM 
                             (SELECT avg(sales) as avgSalesA, count(salesMadeDaily) as 
                             SalesMadeTotal, employeeid FROM companyA GROUP BY 
                             employeeid) tableA INNER JOIN (SELECT 
                             avg(sales) as avgSalesB, employeeid FROM companyB group 
                             by employeeid) 
                             tableB ON tableA.employeeid = tableB.employeeid)");
或者如果您使用Spring数据存储库

@Modifying
@Query("<your insert query", nativeQuery=true)
public int insert();
修改 @查询(”