Springdata / JPQL-如何将元素从列表放置到子选择值

时间:2019-06-05 10:50:19

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

Spring Data / JPQL问题 基本:posgresql 10 后端:Java /春季启动

我有一个非常有趣的问题, 我该如何从java列表中插入当前选择的值,其中where用作subselect的值。

一些伪代码

要选择的数据 代码:

用于选择的数据来自对象

List<DateForSelect> listOfElements;

@Data
public class DateForSelect {

    private Long idDoc;    
    private Long additionalValForSelect;

}

select sp.xd, (subselect value from actual pair of element list of object "additionalValForSelect") from xx.sport sp where sp.doc_id in :idDoc

在不使用Java进行未来处理的情况下解决此问题的任何想法

我将补充一点,我知道稍后如何映射此查询。我只是想知道您最终如何才能提取idDoc元素的当前值,并将其与作为subselect值的AdditionalValForSelect关联。

Synature of sql init repository method : 
List<CustomMapp> searchXD(
      @Param("idDoc") Collection<Long> num);

在jpqlu中是否可能以subselect的形式出现。非JPQL解决方案并不有趣,例如本机查询。

如果您有没有代码示例的有趣想法,请给出启发:D

伪sql代码:

SELECT p.sth,'additionalValForSelect[0]' as tmp FROM  schemat.tabelka p where p.id= 'idDoc[0]'
union 
SELECT p.sth,'additionalValForSelect[1]'   FROM  schemat.tabelka p where p.id= 'idDoc[1]'
union 
SELECT p.sth,'additionalValForSelect[2]'   FROM  schemat.tabelka p where p.id= 'idDoc[2]'
union 
SELECT p.sth,'additionalValForSelect[3]'   FROM  schemat.tabelka p WHERE p.id= 'idDoc[3]'


for ..... loop ...

联合数量= listOfElements.size(其仍然是伪代码)

0 个答案:

没有答案