Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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
Spring 如何动态选择实体的特定列?JPA/querydsl_Spring_Spring Boot_Jpa_Spring Data Jpa_Querydsl - Fatal编程技术网

Spring 如何动态选择实体的特定列?JPA/querydsl

Spring 如何动态选择实体的特定列?JPA/querydsl,spring,spring-boot,jpa,spring-data-jpa,querydsl,Spring,Spring Boot,Jpa,Spring Data Jpa,Querydsl,我可以通过querydsl或Spring数据JPA实现以下功能吗 我有一张表(a、B、C列) 我想选择实体(表)的特定列 特定列定义为列表。(每个元素与列名匹配) 谢谢。@Query(value=“从Tablename中选择?1”) @Query(value = "select ?1 from Tablename") public List<String> readAColumn(String columnname); 公共列表readAColumn(字符串列名

我可以通过querydsl或Spring数据JPA实现以下功能吗

  • 我有一张表(a、B、C列)
  • 我想选择实体(表)的特定列
  • 特定列定义为列表。(每个元素与列名匹配)
  • 谢谢。

    @Query(value=“从Tablename中选择?1”)
    
    @Query(value = "select ?1 from Tablename")
    public List<String> readAColumn(String columnname);
    
    公共列表readAColumn(字符串列名称);
    在您的服务中,您可以使用类似的方法

    private List<Object[]> selectByColumnNames(ArrayList<String> columnNames) {
        return entityManager.createQuery("select " + StringUtils.join(columnNames, ",") + " from YourEntityName")
                .getResultList();
    }
    
    私有列表selectByColumnNames(ArrayList columnNames){
    返回entityManager.createQuery(“从EntityName中选择“+StringUtils.join(columnNames,”,“+”)”)
    .getResultList();
    }
    
    您是否打算在同一实体中进行项目???@tuhin47当然。我想在同一个项目上工作。