【问题标题】:Call Oracle Function and set it to entity调用 Oracle 函数并将其设置为实体
【发布时间】: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


【解决方案1】:

我认为在这种情况下使用@Formula 是更好的方法,至少它比我目前的解决方案要好。谢谢

【讨论】:

    猜你喜欢
    • 2015-08-28
    • 2015-06-22
    • 2022-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    相关资源
    最近更新 更多