3

キーを使用してテーブルから特定のデータを取得しています。データを取得するためにHibernateクエリを使用しています。

特定のキーのデータを取得できます。しかし、他のいくつかのキーについては、エラーまたは例外が発生しています。私が得ている例外は

[1/17/13 14:07:41:819 IST] 0000004c LongType I ** org.hibernate.type.NullableType nullSafeGetは結果セットから列値を読み取ることができませんでした:BRAND1_23_2_; [jcc] [t4] [10120] [10898] [3.58.81]無効な操作:結果セットが閉じられています。ERRORCODE = -4470、SQLSTATE = null **
[1/17/13 14:07:41:822 IST] 0000004c JDBCException W org.hibernate.util.JDBCExceptionReporter logExceptions SQLエラー:-4470、SQLState:null
[1/17/13 14:07:41:823 IST] 0000004c JDBCException E org.hibernate.util.JDBCExceptionReporter logExceptions [jcc] [t4] [10120] [10898] [3.58.81]無効な操作:結果セットが閉じられます。ERRORCODE = -4470、SQLSTATE = null
[1/17/13 14:07:41:826 IST] 0000004c DefaultLoadEv Iorg.hibernate.event.def.DefaultLoadEventListeneronLoadロードコマンドの実行中にエラーが発生しました
                                 org.hibernate.exception.GenericJDBCException:エンティティを読み込めませんでした:[com.travelport.soa.gds.airline.brandedfares.entity.FareCollection#490]
    org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)で
    org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)で
    org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)で
4

5 に答える 5

3

Javaで遅延読み込みとして表される1対多の関係を持つエンティティをCollectionフェッチし、オブジェクトをフェッチしたHibernateセッションを既に閉じた後、そのコレクションを反復処理しようとしています。コレクションを熱心にフェッチするか、セッション境界を広げて反復コードを囲む必要があります。

于 2013-01-17T09:12:03.760 に答える
1

DatasourceカスタムプロパティでkodoresultSetHoldability1に設定して使用する場合

于 2013-04-05T03:14:30.560 に答える
1

DB2のSQLコード-4470には多くの最終的な原因があります。短いリストは次のとおりです。

  1. プログラムエラー(この場合のように)、完全に読み取られる前にカーソルを閉じます。
  2. インストールされたJDBCドライバーのバグ: https ://issues.jboss.org/browse/JBPAPP-2408
  3. 誤った資料によるドライバーの不適切な使用: http ://www-01.ibm.com/support/docview.wss?uid = swg1IV45140
  4. DB2サーバーのバグ: https ://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.5.0/com.ibm.db2.luw.admin.trb.doc/doc/c0020806.html
于 2015-07-23T20:54:13.367 に答える
0

怠惰な/熱心なフェッチ戦略が問題である場合は、Hibernateの1対多の熱心な人がすべてのデータを取得しない、@OneToManyおよび@ManyToManyエンティティをフェッチする方法、およびフェッチ戦略の簡単な入門書@OneToMany(fetch=FetchType.EAGER)を使用して読むことをお勧めします。

データベースと影響を受けるレコードを取得する方法のスニペットをいくつか投稿することをお勧めします。https://gist.github.com/を使用することをお勧めします。

于 2013-01-18T11:16:05.240 に答える
0

同じエラーが発生したのは、db2接続を閉じてから、結果セットを読み取ろうとしたためです。結果セットを読み取る間、db2は接続されたままでなければならないことを強調してください。

于 2014-05-22T18:54:33.820 に答える