我在Postgres數據庫上安裝了一個包含相似函數的包。我在JDBC上使用純SQL調用它們,並且它按預期工作。使用QueryDSL調用Postgres函數
現在我試圖重構我的代碼來使用QueryDSL。相似性函數的第一步設置了一個0到1之間的限制,以便只返回高於給定閾值的結果。我想是這樣的:
NumberExpression<Float> sim = Expressions.numberTemplate(Float.class, "set_limit({0})", "0.2"); query.singleResult(sim);
我得到以下錯誤: java.lang.IllegalArgumentException: No joins given
我知道我沒有通過的EntityPath。如果我嘗試使用任何EntityPath,我得到的錯誤:
`[[IllegalStateException: No data type for node: org.hibernate.hql.internal.ast.tree.MethodNode
\-[METHOD_CALL] MethodNode: '('
+-[METHOD_NAME] IdentNode: 'set_limit' {originalText=set_limit}
\-[EXPR_LIST] SqlNode: 'exprList'
\-[NAMED_PARAM] ParameterNode: '?' {name=1, expectedType=null}
]]`
在那之後,我會打電話給另一個數據庫的功能,但我想解決辦法是一樣的。
QueryDSL有可能嗎?