我手動創建了我的數據庫,然後使用Hibernate工具來生成我的Pojo,DAO。 當我創建一個對象,並堅持到數據庫中它似乎做工精細休眠後沒有刷新數據庫()
DefinitionT def = new DefinitionT();
def.setSelected(false);
def.setValue(sqlEncode(definition));
def.setWordId(wordT.getId());
definitionTDao.persist(def);
這是我的堅持()方法
public void persist(Object o)
{
try
{
hSession.persist(o);
hSession.flush();
}
catch (Exception e)
{
hTransaction.rollback();
log.error(e.getMessage());
}
}
當我的線程完成數據庫與新對象更新。但是,我注意到,如果我在調用persist()後直接停止該程序,數據庫將不會被更新。事實上,無論有多少操作我都不會在數據庫中更新,直到線程完成。我認爲flush()將hibernate緩存中的所有更新都推送到數據庫中? 我錯過了什麼?我認爲這與Hibernate flush doesn't update database的問題相同,但我沒有任何for循環。