1. 程式人生 > >hibernate中delete()方法報錯處理方法

hibernate中delete()方法報錯處理方法

    @Override
    public void del(Picture picture) {
        session.beginTransaction();
        System.out.println(picture.getId());
        session.delete(picture);
        System.out.println("刪除資料");
        session.getTransaction().commit();

    }

在執行時session.delete()出錯,

最後的解決辦法是:

新增一行程式碼:  picture=(Picture)session.load(Picture.class, picture.getId());

    @Override
    public void del(Picture picture) {
        session.beginTransaction();
        System.out.println(picture.getId());

        picture=(Picture)session.load(Picture.class, picture.getId());

        session.delete(picture);
        System.out.println("刪除資料");
        session.getTransaction().commit();

    }

最後就解決了,可以從資料庫刪除資料了