熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

JPA和hibernate對刪除操作的不同[5]

2013-11-23 20:46:03  來源: Java開源技術 

    調用JPA的代碼如下

 EntityManagerFactory emf = PersistencecreateEntityManagerFactory(TestSSHPU);
        EntityManager em = emfcreateEntityManager();
        emgetTransaction()begin();
        comhadesleejpaentityPerson p = new comhadesleejpaentityPerson();
        psetAge();
        psetName(千裡冰封);

        comhadesleejpaentityDepartment dept = emfind(comhadesleejpaentityDepartmentclass LongvalueOf());
        Systemoutprintln(找到的dept= + dept);
        emremove(dept);
        emgetTransaction()commit();

  調用hibernate的代碼如下

Session session = HibernateUtilgetSessionFactory()getCurrentSession();
        sessiongetTransaction()begin();
        Department dept = (Department) sessionload(Departmentclass );
        sessiondelete(dept);
        sessiongetTransaction()commit();

  最後發現是JPA是不能刪除的而hibernate這邊的調用可以刪除一開始我還以為是toplink的實現問題後來特意把實現改成hibernate的實現也同樣所以有可能是JPA的要求必須得這樣做不能替我們自動完成一些東西是利於安全這可能就是標准和流行的差別吧呵呵

[]  []  []  []  []  


From:http://tw.wingwit.com/Article/program/Java/ky/201311/29048.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.