2010-10-14 122 views
1

我在J2SE项目中使用EclipseLink。我正在使用mysql和JPA。我有一个简单的实体主键和String字段。我可以使用EntityManager#createQuery从数据库中读取数据,但是当我尝试使用persistmerge实体时,数据库中没有任何内容,并且不会引发异常。我可以毫无问题地手动插入数据(使用与persistence.xml文件相同的凭据)。请帮忙!这个问题与jpa实现无关,我猜想是因为更改persistence.xmlHibernate的提供者并没有帮助。持久性问题

回答

1

您需要在活动事务中执行persist()merge()。然后您需要调用交易对象上的commit()方法。

通过在EntityManager实例上调用getTransaction()创建一个事务,获取一个EntityTransaction对象,然后调用begin()。在实体更新(例如merge())完成后,请致电commit()

参见:http://download.oracle.com/javaee/6/api/javax/persistence/EntityTransaction.html

+0

不给予好评接受的答案不健全的权利。 +1 – 2010-10-14 23:27:46