Чем заменить getHibernateTemplate().find(), поскольку он устарел?

#spring-boot #hibernate

#spring-boot #спящий режим

Вопрос:

Во время кодирования мы столкнулись с предупреждением об отказе от getHibernateTemplate().find(); может ли кто-нибудь предложить другой метод или заменить код для решения этой проблемы. Мы используем SpringBoot и базу данных MYSQL.

 String sQuery = "Select R.sPhone from Registration R where R.sPhone = "   iPhone  "AND R.sCountry_Code= " sCountry_Code;
        List<Object[]> resultList = (List<Object[]>) getHibernateTemplate().find(sQuery);
    
  

Ответ №1:

Вы можете получить текущий сеанс через SessionFactory . Получите доступ к списку результатов, как показано ниже.

 Session sess=factory.getCurrentSession();
sess.beginTransaction();
List<Object> resultList = sess.createQuery("from Registration R").getResultList();
  

Ответ №2:

 List<Object> list = (List<Object>) currentSession().createQuery("your query").list();
List<Object> list = (List<Object>) currentSession().createQuery("Select R.sPhone from Registration R where R.sPhone = :sPhone ").setParameter("sPhone ", sPhone ).list();