Hibernateを使用していると、プログラムで行ったデータベースへの変更がデータベースに反映されない

DBアクセス層のフレームワークHibernateを使っているときに、DBViewerなどのツールで変更を行うと、Hibernateが外部のツールでデータが変更されたことに気がつかずに、不整合が起きることがある。

その逆もしかり。

プログラム側で、1回1回のデータベースアクセス毎に、コミットを行えばよいのだけれど、それだとHibernateの良さを生かせなくなるのでは?
と、思ったり。