簡體   English   中英

需要在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.

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