У меня есть код, который выбирает все строки базы данных и удаляет их. Он выполняет этот процесс непрерывно. Если в базе данных нет данных, она спит в течение 2 секунд, а затем пытается снова. Моя проблема заключается в следующем, когда новые данные добавляются в базу данных, мой код не видит их.
Тест:
Я запустил свой код, он ждал новых данных, а через несколько секунд я вручную добавил данные в базу данных. Мой код не видел новую строку вообще. Я на 100% уверен, что данные, которые я добавил, на самом деле находятся в базе данных.
Я использую Hibernate с MySQL.
Код:
String queryString = "select * from rawleads";
SQLQuery query = session.createSQLQuery(queryString);
ArrayList list = (ArrayList) query.list();
while (list.isEmpty()) {
Thread.sleep(2000);
query = session.createSQLQuery(queryString );
list = (ArrayList) query.list();
System.out.println("refreshing table");
}
System.out.println("Processing...");
Я думаю, это может быть связано с кешем, так как код не может видеть изменения, внесенные в базу данных.
Спасибо за вашу помощь.