Я разработал приложение, используя 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>
Иногда я получаю данные, а иногда пустой список. Пожалуйста помоги.
Есть ли что-то еще, что нам нужно сделать для настройки производства