Java / JPA持久返回值

时间:2014-01-31 19:21:10

标签: java jpa

我有两个实体QuestionPublication。出版物有一个问题清单。 当我坚持一个问题就可以了,我检查我的数据库并且行是不合理的(我正在使用MySQL)。

然后我需要展示该出版物的问题,当我选择问题时,我之前坚持的问题不会显示。

我做“Select p from Publicacion”,返回包含所有问题的出版物而不是新出版物。如果我停止服务器并再次部署应用程序Web,那么当我显示出版物的问题时,它会出现!

我不知道发生了什么,我不知道是否有关于内存或实体经理的事情。

请我卡住

感谢

2 个答案:

答案 0 :(得分:0)

public T persist(T object){
    entityManager.persist(object);
    entityManager.flush();
    return object;
}

答案 1 :(得分:0)

我认为刷新操作丢失了,并且可能缺少活动事务中的提交,这听起来像停止服务器时所有活动事务都已提交,并且有可能在关闭后看到更改。

您没有显示任何代码。我想你正在使用JPA,所以尝试刷新entitymanager。 如果您正在使用应用程序管理的事务

em.getTransaction().begin();
Changes  the object are doing here.
em.persist(Object);
em.getTransaction().commit();

如果您正在使用容器管理事务检查事务划分,请确保在尝试检索对象之前保留该对象