2011-01-24 9 views
1

HibernateとMySQLデータベースを使用するJavaアプリケーションがあります。トランザクションの削除は、最初はうまくいくように見えます。しかし、アプリケーションを終了して再起動すると、データベースから何も削除することができなくなります。我々は何の誤りもなく、エントリーは単に削除しない。それでも、すべてを作成してほとんどのエンティティを編集できます。アプリケーションを再起動してもデータベースオブジェクトを削除できません

これはうまくいかない実装関連の理由がたくさんあることは知っています。しかし、私たちはHibernateの専門家ではなく、このコードは数年前に作られた基盤上に構築されています。少なくとも、探したいものの種類に関するガイダンスが必要です。実際のコードを投稿することはできないことをお詫びしますが、必要に応じてスニペットを作成することもできます。

この問題の原因は何ですか?私はどこから始めるのですか?これはセッションの問題ですか?

答えて

0

まず、アプリケーションの再起動時にDBへの接続がすべて解放されているかどうかを確認します。一部の接続が保留中の場合、異なる問題が発生する可能性があります。

+0

どうすれば確認できますか?私はそれがMySQL自体に何かあると思いますか? – Dave

+0

これを試してください{{'Conn%'のようなステータスを表示;}これはアクティブな接続の数を示します。アプリケーションの起動前と停止後に測定してください。 – WeMakeSoftware

0

まず、再起動後に生成されたDELETE文を調べます。野生の推測では、これらはWHERE句を使用しているため、DBにレコードはありません。

+0

これを確認する簡単な方法はありますか?私たちはHibernateを使用するので、私は通常のPOJO操作のように見えます。 – Dave

+0

ここで 'show_sql'を探してください:http://docs.jboss.org/hibernate/core/3.3/reference/en/html/session-configuration.html#configuration-optional –

関連する問題