2016-11-10 8 views
0

У меня проблема с критериями спящего режима с оператором «ge» в моем запросе. Ниже приведен мой код критериев. Кто-то может помочь в определении того, что является основной причиной этого ненормального поведения критериев. Также, если учесть, что в моей таблице всего 5 записей.Запрос на спящий режим с оператором ge застрял навсегда

LevelPriority levelPriorirty = (LevelPriority) crit.uniqueResult(); 
    List<LevelPriority> resList = new ArrayList<>(); 
    Criteria newcrit = getSess().createCriteria(LevelPriority.class); 
    if (levelPriorirty != null) { 

     newcrit.add(Restrictions.ge("levelPriority",  levelPriorirty.getLevelPriority())); 
     resList = (List<LevelPriority>) newcrit.list(); 
+0

Я не вижу какой-либо в критериях? Почему бы вам не поставить ge-Restriction в критерии Crit в первой строке? Возможно, вы можете попробовать newcrit.add (Property.forName ("levelPriority"). Gt (levelPriorirty.getLevelPriority())) –

+0

Извините, что это внутренние критерии. Это не в операторе. –

+0

Также мне нужно вернуть результаты, которые больше или равны определенному приоритету. поэтому я должен использовать ge вместо gt –

ответ

0

Наконец-то я смог его решить. Я обнаружил, что каждый раз, когда создаются критерии, я открываю новую сессию. Итак, я изменил ниже с более поздним.

sessionFactory.openSession(); 

изменен

sessionFactory.getCurrentSession(); 

 Смежные вопросы

  • Нет связанных вопросов^_^