java

位置:IT落伍者 >> java >> 浏览文章

JPA和hibernate对删除操作的不同[5]


发布日期:2021年03月26日
 
JPA和hibernate对删除操作的不同[5]

调用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的要求必须得这样做不能替我们自动完成一些东西是利于安全这可能就是标准和流行的差别吧呵呵

[] [] [] [] []

               

上一篇:JPA和hibernate对删除操作的不同[1]

下一篇:JPA和hibernate对删除操作的不同[4]