У меня есть сопоставленная коллекция, которая не обновляется при внешнем добавлении элементов в эту коллекцию в другом приложении.
Кэширование второго уровня отключено.
Пример ...
session = HibernateDataSource.openSession();
User dao = (User) session.load(User.class, 2434152);
// No items now, this gives 0
System.err.println(dao.getItems().size());
session.close();
Thread.sleep(10000);
// Add an item outside, e.g. in PMA
session = HibernateDataSource.openSession();
HibernateDataSource.getSessionFactory().evict(User.class);
HibernateDataSource.getSessionFactory().evict(UserItem.class);
HibernateDataSource.getSessionFactory().evictCollection(User.class.getName() + ".items");
dao = (User) session.load(User.class, 2434152);
// Still zero
System.err.println(dao.getItems().size());
session.close();
Я пробовал несколько решений при поиске в Google, например, установил, что коллекция грязная.Ничего не сработало.
Есть что-то еще, на что я не смотрел?
PS Сначала попробовал на Hibernate 3.2.7.Обновлен до 3.3.2, без разницы.