How to delete data from org.hibernate.collection.PersistentBag? | Hibernate (Jpa)

不羁的心 提交于 2019-12-02 03:27:45

问题


The List<String> Mylist is org.hibernate.collection.PersistentBag...

and i want to delete this Mylist...
How i can do it??

QriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();
CriteriaQuery<A_entity> criteriaQuery = criteriaBuilder.createQuery(A_entity.class);
criteriaQuery.from(A_entity.class);
Query query = em.createQuery(criteriaQuery);
List<A_entity> queryList = query.getResultList();
for (A_entity a:queryList)
{
   if(....)
   {
     List<String> Mylist = a.func();
     ???How delete Mylist????
   }
}

Thank you very much!!


回答1:


Try deleting elements one by one:

List<String> Mylist = a.getMyList();
em.getTransaction().begin();
for (String element:Mylist){
    em.remove(element);
}
em.getTransaction().commit();

_______________________
The Solution (Work to me, thank to "Genzotto"):

List<String> Mylist = a.getMyList();
listStirng.clear();
em.getTransaction().begin();
     for (String str : Mylist) {
         em.merge(str);
     }
em.getTransaction().commit();


来源:https://stackoverflow.com/questions/23920323/how-to-delete-data-from-org-hibernate-collection-persistentbag-hibernate-jpa

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!