我在EclipseLink
项目中使用J2SE
。我正在使用mysql
和JPA。我有一个带主键和String
字段的简单实体。我可以使用EntityManager#createQuery
从数据库中读取,但是当我尝试persist
或merge
实体时,没有任何内容放入数据库中,也不会抛出任何异常。我可以手动插入数据而不会出现问题(使用与persistence.xml
文件中相同的凭据)。请帮忙!这个问题与jpa实现无关我想因为将persistence.xml
中的提供程序更改为Hibernate
没有帮助。
答案 0 :(得分:1)
您需要在活动交易中执行persist()
或merge()
。然后,您需要在事务对象上调用commit()
方法。
通过调用getTransaction()
实例上的EntityManager
创建事务,获取EntityTransaction对象,然后在其上调用begin()
。在实体更新(例如commit()
)完成后,在其上调用merge()
。
请参阅:http://download.oracle.com/javaee/6/api/javax/persistence/EntityTransaction.html