Hibernate削除時異常


1.支配者を削除する時、持久化がなくて、直接newの一つの支配者はsetIDを使います.中間テーブルのデータと支配者のデータを削除することができます.
変更します問題:ないデータを削除すると、org.hibernate.StareException:Uexpected row count:0 expected:1、
使用しているのは、ヒベルナのsaveOrUpdate方法の保存例です.saveOrUpdate方法はIDがnullの時にSAVEを実行するように要求します.他の状況で実行します.
UPDATE.保存例の場合は新規になりますが、あなたのIDはnullではないので、UPDATEを使っていますが、データベースにはメインキーに関する値がありませんので、異常があります.
おかしいです.なぜですか?org.hibernate.Object NotFoundExceptionの異常を投げ出すはずです.
削除されたコード:
public void removeUser(Integer userID) {
        if(userID != null){
            userDao.remove(new User(userID));
        }
    }
解釈については問題があると思いますが、データを削除するためにremove方法を実行すると、IDを提示してデータを探しに行きます.データが存在しないことを発見します.だから異常を投げます.直接にsaveOrupdata方法で異常を投げますとは言えません.
...
    2.存在しないデータを検索するときは、user.getsUserIDを実行しません.Object NotFoundExceptionの異常を投げません.get/setメソッドを呼び出してこそ、投げ出すことができます.
したがって、このuserを取り出すと、実際のオブジェクトは空です.remove操作を実行すると、springはorg.hibernate.Object NotFoundExceptionを入れ子にします.
org.springframe ework.orm.hibernate 3.HibergeObject Retrieval Failure Exception.意味は:
Hybenna-specific subclass of Object Retrieval Failure Exception.Coverts Hbernate's Unirecollovable Object Exception.
public void removeUser(Integer userID) {
        if(userID != null){
            User user = userDao.findByPK(userID);
                        user.getUserID();//        ,Hibernate     ObjectNotFoundException.
            userDao.remove(user);
        }
    }
設定時に遅延負荷を使用していますので、アメリカに行く時は耐久化されていません.アメリカに対してset/get処理を行った時は耐久化されていますので、この時はnotfound異常を破棄します.以下の異常は明らかです.実用化されていない対象を削除します.