2012-01-14 17 views
0

私は休止状態を学習しています。テストを行うために、私は無効なキーでsession.loadを呼び出しました。私がデバッガ(JB Idea)でその行を歩いた後、何も起こらない - 私はObjectNotFoundExceptionを得ることを期待していた。私は式評価(ALT + F8)を開設し、その結果は以下のとおりであった:休止状態:session.load

bookFailedLoad = {[email protected]}Method threw 'org.hibernate.ObjectNotFoundException' exception. Cannot evaluate rs.hibernateTest.model.Book$$EnhancerByCGLIB$$5dd17391.toString() 
CGLIB$BOUND = true 
CGLIB$CONSTRUCTED = true 
CGLIB$CALLBACK_0 = {[email protected]} 
CGLIB$CALLBACK_1 = null 
isbn = null 
name = null 
publisher = null 
publishDate = null 
price = 0 
chapters = null 

HB有効でないオブジェクトPOJOをお知らせましたか。私が冬眠ソースをデバッグする冒険の前に、フードの下で何が起こっているのかを理解するのに役立つ記事を勧めてください。

答えて

0

デバッガを実行させる必要があります。エンティティが見つからない場合はloadが例外をスローします。貼り付けた素材を見ると、最初の行に

Method threw 'org.hibernate.ObjectNotFoundException' exception. Cannot evaluate rs.hibernateTest.model.Book$$EnhancerByCGLIB$$5dd17391.toString() 

が表示されます。

リソースに関する限り、Hibernate in Actionの書籍は、今まで購入した中で最高の書籍の1つです。あなたが休止状態で多くの時間を過ごすつもりなら、十分な価値があります。ダウンロードした本のバージョンが、使用している休止状態のバージョンに関連していることを確認してください。

+0

log.info行にコメントすると例外がスローされません:\ n log.info( "bookFailedGet - " + bookFailedGet); \ n BookFailedLoad =(Book)session.load(Book.class、 "PBN456 @" ); \ n // log.info( "bookFailedLoad - " + bookFailedLoad); \ n \ n} catch(ObjectNotFoundException e){\ n log.error( "ブックのロードに失敗しました"、e); \ n \ n} catch(例外e){\ n e.printStackTrace(); \ n} finally { – DraganS