データベース接続の正常性をチェックするために呼び出すことのできるサービスメソッドがAPIにあります。一般的に、ハイバネーションでデータベース接続をテストする方法
このメソッドは、プロパティファイル(DBベンダーに依存し、将来はSybaseとHSQLを使用します)からクエリ文字列を取得して実行しています。次に、メソッドは、成功したか失敗したかを呼び出し元に通知します。これに加えて
、私はクエリにタイムアウトを設定するQuery.setHint("javax.persistence.query.timeout")
を使用していた。
javax.persistence.EntityManager entityManager;
...
Query heartbeatQuery = entityManager.createNativeQuery(heartbeatQueryString);
heartbeatQuery.setHint("javax.persistence.query.timeout", heartbeatTimeout);
heartbeatQuery.getResultList();
私の問題は、タイムアウトプロパティが私のSybase DBではなく、私のHSQL DBに対して不利に働いているです。それはベンダーに依存するように聞こえるので、いつ動作するのかはわかりません。
DB接続を一般的にテストするには、より良い方法がありますか?&には何らかのタイムアウトパラメータが含まれていますか?
ありがとうございます。私は恐れているかもしれませんが、これは私の大きな問題ではありません。 HibernateユーザがDB接続をテストするためのより良い方法があれば、それを聞くことに興味があります。私はMySQL Javaライブラリについて知りませんでした。興味深いところです。 – gregdferrell