2016-07-07 2 views
0

У меня есть проблема с критериями с критерием ограничения с использованием hibernate и Oracle db.Restrictions.sqlRestriction exception Hibernate с Oracle

Упрощенный критерий является: criteria1.add(Restrictions.sqlRestriction("{pets}.givenName = 'Wayne')"));

Это дает мне NullPointerExceltion. Я понимаю, что мне нужно поставить setEscapeProcessing (false), чтобы игнорировать скобки {} 'в {pets}, но я не знаю, как это сделать, потому что я использую критерии.

Буду рад, если кто-то может мне помочь.

Это исключение генерируется:

1 ERROR http-8080-2 lists.SimplePagingList - Could not load current list 

java.lang.NullPointerException на oracle.jdbc.driver.T4C8Oall.getNumRows (T4C8Oall.java:876) в oracle.jdbc.driver.T4CPreparedStatement. executeForDescribe (T4CPreparedStatement.java:831) на oracle.jdbc.driver.OracleStatement.executeMaybeDescribe (OracleStatement.java:1039) на oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe (T4CPreparedStatement.java:850) на oracle.jdbc. driver.OracleStatement.doExecuteWithTimeout (OracleStatement.java:1134) в oracle.jdbc.driver.OraclePreparedStatement.executeInternal (OraclePreparedStatement.java:3339) в oracle.jdbc.driver.OraclePreparedStatement.executeQuery (OraclePreparedStatement.java:3384) в org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement. executeQuery (DelegatingPreparedStatement.java:93) на org.hibernate.jdbc.AbstractBatcher.getResultSet (AbstractBatcher.java:186) на org.hibernate.loader.Loader.getResultSet (Loader.java:1787) на org.hibernate. loader.Loader.doQuery (Loader.java:674) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections (Loader.java:236) at org.hibernate.loader.Loader.doList (Loader.java:2213) at org.hibernate.loader.Loader.listIgnoreQueryCache (Loader.java:2104) на org.hibernate.loader.Loader.list (Loader.java:2099) на org.hibernate.loader.criteria.CriteriaLoader.list (CriteriaLoader.java:94) на org.hibernate.impl.SessionImpl.list (SessionImpl.java:1569) at org.hibernate.impl.CriteriaImpl.list (CriteriaImpl.java:283)

ответ

0

Мне удается исправить проблему.

Первой проблемой было то, что вместо {pets} мне пришлось использовать только {alias}.

Второй вопрос заключается в том, что я создавал критерии с:

Criteria criteria1 = criteriaOrg.**createAlias**(...) 

Я изменил его:

Criteria criteria1 = criteriaOrg.**createCriteria**(...) 
Смежные вопросы