[英]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 文檔,但到目前為止沒有任何幫助。
http://www.querydsl.com/static/querydsl/3.3.1/reference/html/ch02s03.html
在舊版本的 QueryDSL 中不斷呈現存在錯誤。 請升級到更新的版本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.