2011-02-01 7 views
2

Hibernateを使用して、HSQLを使ってORMをテストしています。挿入を行うために接続がフェッチされてから返されたようです。その直後、HIbernateは接続を取得してHSQLからIDを取得しようとしますが、明らかに間違っている0を返します。IDが常に0を返すHSQL DataSource + TxMの修正方法

私はtmとdatasourceを実行していましたが、プレーンプール接続を使用していましたが、すべてがうまくいきましたが、新しいtm + dsではこの問題が発生しています。

+0

永続コンテキストがデータベースにフラッシュされた後にIDを照会していることは確かですか?それまではHibernateはジェネレータへのアクセスを保証していません。通常は、トランザクションをクローズするかセッションを閉じるときに発生します。また、どのIDジェネレータ戦略を使用していますか? – Pace

答えて

0

答えは、DataSourceがtxに対応している必要があります。そのため、新しいtxごとに接続が固執します。元の問題は、別の接続が新しい行のIDをフェッチするために使用されたことで、当然0が返されました。最初の挿入と呼び出しのアイデンティティのために接続が固定されていた場合、すべてが機能します。

+0

お元気ですか?あなたはあなたの答えを詳述できますか?私は同様の問題を抱えており、さまざまなソリューションを試してみました。 DataSourceをtxに対応させるにはどうしたらいいですか? –

関連する問題