我有一个使用JPA的基本Java项目设置。我有正确注释的类,可以毫无困难地将数据插入到PostgreSQL数据库中。EntityManager remove()调用不更新数据库
我的问题......我会发现我需要在这里加入更多详情...
那是我打电话“em.remove(myObject的)”,其中“时间”是一个EntityManager。我可以在调试时看到对象的更改,但在完成应用程序后,我的更改未反映在数据库中。
调用.remove()更新数据库还是我还需要添加.flush()调用?我试着用谷歌搜索这个,一定是错过了一些东西。
谢谢!
在删除它之前,您是否在同一个事务中从数据库中读取对象? – clav 2013-05-04 04:06:52
是的,它是同一交易的一部分。 – 2013-05-04 04:09:38
如果它不是分离的实例,那么删除调用应该可以工作。如果它被分离了,你需要先使用Object managed = em.merge(myObject);来进行管理,然后在managed上调用remove。 – clav 2013-05-04 04:12:35