我一直在尝试从数据库中删除实体对象。使用查询获取对象并删除它的工作原理。使用merge来获取它会返回相同的对象,但不会删除它。
使用:
Example example = em.createQuery("from Example where id = :id", Example.class).setParameter("id", id).getSingleResult();
em.remove(example);
不起作用:
Example example = em.merge(obj);
em.remove(example);
我还发现将它按此顺序放置:
em.createQuery("from Example where id = :id", Example.class).setParameter("id", id).getSingleResult();
Example example = em.merge(obj);
em.remove(example);
.equals为它们返回true。使用Hibernate JPA 2.1。