![](/img/trans.png)
[英]Predicate for bitwise '&' operator check in where clause in JPA2
[英]Need to use bitwise“&” operator in JPA2
我需要在JPA2中轉換以下條件,但是發現沒有替代方法可以應用沒有JDBC參數的用SQL表示的約束
Restrictions.sqlRestriction(“ {alias} .col3&” + value +“ =” + value);
我嘗試使用NativeQuery像下面的sinppet一樣,其中value是傳遞給方法的參數:-
String sqlString="select * from myTable where col1=3600 and col2=true and col3&"+value+"="+value;
Query query=getSession().createNativeQuery(sqlString);
List<userDefClass> results = new ArrayList<userDefClass>();
results=(List<userDefClass>)query.getResultList();
對於上述邏輯,我得到以下錯誤:
“ java.lang.ClassCastException:[Ljava.lang.Object;無法轉換為com.pkg.userDefClass java.lang.RuntimeException
query.getResultList()正在傳遞對象列表,但不傳遞userdefClass對象列表。
我也嘗試使用類型查詢,但是它拋出SQL Grammer Exception。我猜它沒有解析SQL字符串中按位的'&'運算符。
請幫忙。
請嘗試這個:
query.setResultTransformer(new AliasToBeanResultTransformer(userDefClass.class));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.