【发布时间】:2018-07-27 10:18:13
【问题描述】:
如果这个问题已经存在,请见谅。这是我的场景:
class EntityA {
private EntityB entityB;
...
}
我需要调用functionA(entityB.value)(这是oracle函数)
我解决它的方法是我将获取 EntityA 的列表,然后循环它
for(EntityA entityA : entityAList){
// then I will call oracle function here
callOracleFunction(entityA.entityB.value)
}
它解决了问题,但查询将被多次调用。 如何一次性查询? 喜欢这个查询
SELECT a.name,
functionA(b.value) AS "Result"
FROM EntityA a
LEFT JOIN EntityB b ON a.id = b.id;
提前谢谢你:)
【问题讨论】:
-
快速愚蠢的解决方案 1 创建新的 oracle 函数,其中包含“SELECT a.name, functionA(b.value)” 2 调用新函数一次
-
VasilyKomarov 我已经有了oracle功能,就想用一下。我尝试了@Formula,但它仍然为每个项目调用函数。
标签: java oracle spring-boot spring-data-jpa querydsl