簡體   English   中英

QuerDSL 生成 Native Oracle Query

[英]QuerDSL to generate Native Oracle Query

我正在嘗試像這樣生成本機查詢,以便我可以單獨運行它們。

預期查詢:

select test.TEST_KEY
from TEST_TABLE test
where test.TEST_CODE = 'TEST_01' and test.TEST_ACCOUNT_NUMBER = '001' and test.POSTED_UTC_DATE between timestamp '2020-06-19 23:59:59' and timestamp '2020-06-19 23:59:59'

查詢我得到

select testTable.testKey
from testTable
where testTable.testCode = 'TEST_01' and testTable.testAccountNumber = '0000124001' and testTable.postedUtcDate between timestamp '2020-06-19 23:59:59' and timestamp '2020-06-19 23:59:59'

代碼

public String getTestResults(DataDto dataDto) {
        SQLTemplates templates= OracleTemplates.builder().printSchema().build();
        Configuration configuration=new Configuration(templates);
        configuration.setUseLiterals(true);
        PathBuilder<?> entityPath = new PathBuilder<>(getEntityClass(), getEntityName());
        SQLQuery<Object> sqlQuery= (SQLQuery<Object>) new SQLQuery(configuration)
                .select(entityPath.getString(getColumnMap().get("TEST_KEY")))
                .from(entityPath)
                .where(buildCondition(dataDto).build());
        sqlQuery.setUseLiterals(true);
        String query=sqlQuery.getSQL().getSQL();
        return query;
    }

我參考了這篇文章並查詢了 DSL 文檔,但到目前為止沒有任何幫助。

如何從querydsl獲得完全物化的查詢

http://www.querydsl.com/static/querydsl/3.3.1/reference/html/ch02s03.html

在舊版本的 QueryDSL 中不斷呈現存在錯誤。 請升級到更新的版本。

另見: https://github.com/querydsl/querydsl/issues/2017

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM