2
我在另一個應用程序中向外部添加項目時,未更新映射集合。當記錄插入到外部時,Hibernate集合未更新
禁用二級緩存。
例...
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上搜尋時已經嘗試了幾種解決方案,例如將集合設置爲髒。沒有工作。
還有什麼我沒看過的?
P.S.首先嚐試Hibernate 3.2.7。升級到3.3.2,沒有區別。