DB を手動で作成し、Hibernate ツールを使用して Pojo、DAO を生成しました。オブジェクトを作成してデータベースに永続化すると、正常に動作するように見えます
DefinitionT def = new DefinitionT();
def.setSelected(false);
def.setValue(sqlEncode(definition));
def.setWordId(wordT.getId());
definitionTDao.persist(def);
これは私の persist() メソッドです
public void persist(Object o)
{
try
{
hSession.persist(o);
hSession.flush();
}
catch (Exception e)
{
hTransaction.rollback();
log.error(e.getMessage());
}
}
スレッドが完了すると、データベースが新しいオブジェクトで更新されます。ただし、persist() を呼び出した直後にプログラムを停止すると、データベースが更新されないことに気付きました。実際、実行する操作の数に関係なく、スレッドが完了するまで DB で何も更新されないようです。flush() が休止状態キャッシュ内のすべての更新をデータベースにプッシュしたと思いましたか? 私は何が欠けていますか?これは、 Hibernate フラッシュがデータベースを更新しないのと同じ問題だと思いますが、for ループは実行されていません。