持久性问题

时间:2010-10-14 22:52:43

标签: java orm persistence jpa-2.0

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

1 个答案:

答案 0 :(得分:1)

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

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

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