需要按位使用"&" JPA2中的运算符

时间:2017-05-16 03:23:04

标签: java hibernate jpa

我需要在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();

对于上述逻辑,我收到以下错误: -

&#34; java.lang.ClassCastException:[Ljava.lang.Object;无法转换为com.pkg.userDefClass java.lang.RuntimeException

query.getResultList()传递对象列表但不传递userdefClass对象列表。

另外我尝试使用Typed Query但它抛出了SQL Grammer异常。我猜它不会解析按位&#39;&amp;&#39; SQL字符串中的运算符。

请帮忙。

1 个答案:

答案 0 :(得分:0)

请试试这个:

query.setResultTransformer(new AliasToBeanResultTransformer(userDefClass.class));