调用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 = HibernateUtil
getSessionFactory()
getCurrentSession();
sessiongetTransaction()begin();
Department dept = (Department) sessionload(Departmentclass );
sessiondelete(dept);
sessiongetTransaction()commit();
最后发现是JPA是不能删除的而hibernate这边的调用可以删除一开始我还以为是toplink的实现问题后来特意把实现改成hibernate的实现也同样所以有可能是JPA的要求必须得这样做不能替我们自动完成一些东西是利于安全这可能就是标准和流行的差别吧呵呵
[] [] [] [] []