Запрос Hibernate возвращает пустой список, хотя значения существуют в базе данных - PullRequest
0 голосов
/ 27 июня 2018

Я разработал приложение, используя Spring MVC и Hibernate. Запланированное задание обновляет мою базу данных (mysql) каждые 2 минуты новыми данными, и я получаю эти данные с помощью запроса гибернации. Заметил проблему, что иногда hibernate возвращает пустой список из таблицы, а иногда он выбирает последние значения, хотя в моей базе данных всегда есть значения.

Эта проблема возникла только в производстве. Вот как я звоню из JavaScript,

$.ajax({
    type : "GET",
    contentType : "application/json",
    url : "/myapp/getData",
    dataType : 'json',
    timeout : 100000,
    success : function(res) {
        console.log("result: ", res);
        //process data
    },
    error : function(e) {
        console.log("ERROR: ", e);
    },
    done : function(e) {
        console.log("DONE");
    }
});

И мой код Java:

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
        Date sDate = new Date();
        SessionFactory factory = HibernateUtil.getSessionFactory();
        Session session = factory.openSession();
        List<Weather> wlist = null;
        Date fDate=getStartOfDay(sDate);
        Date tDate=getEndOfDay(sDate);
        Query query = session.createQuery("from Weather wr WHERE wr.addDate BETWEEN :stDate AND :endDate ORDER BY id desc");
        query.setParameter("stDate", sdf1.parse(sdf1.format(fDate)));
        query.setParameter("endDate", sdf1.parse(sdf1.format(tDate)));
        query.setMaxResults(1);
        wlist = query.list();
        session.clear();
        session.close();
        return wlist;

Отображение гибернации:

<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
               <property name="hibernate.cache.use_second_level_cache">false</property>
               <property name="hibernate.cache.use_query_cache">false</property> 
               <property name="show_sql">true</property>
               <property name="hibernate.connection.CharSet">utf8</property>
               <property name="hibernate.connection.characterEncoding">utf8</property>
               <property name="hibernate.connection.useUnicode">true</property>
               <property name="hibernate.connection.driver_class">
                  com.mysql.jdbc.Driver
               </property>

Иногда я получаю данные, а иногда пустой список. Пожалуйста помоги. Есть ли что-то еще, что нам нужно сделать для настройки производства

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...