Luc*_*uke 2 java jpa java-ee-6 glassfish-3
EntityManger注入了@PersistenceContext注释。这是我的“ DAO /存储库”类中的一种未注释的方法。此类被注入到需要从数据库获取数据或从数据库获取数据的EJB中。
直到现在,我还认为下面的persist方法完成后,会清除persistencecontext,并将数据存储到数据库中,但是从我应用程序中发生的事情开始,我开始对此表示怀疑。我已经在Glassfish中建立了数据源和连接池,所以据我所知,我正在使用容器管理的事务,但是我不使用任何事务注释。
有人可以帮我照一下吗?
public void persist(QuestionFeedback questionFeedback) {
questionFeedback.setCreated(new Date());
entityManager.persist(questionFeedback);
}
Run Code Online (Sandbox Code Playgroud)
使用Glassfish 3,实现Java EE6兼容性
该persist方法使实体具有持久性,但尚未将更改写入数据库。这通常在事务提交时发生(提供者可以自由地对此进行优化,这可能会更早发生)。
通过这种方式,flush您可以强制进行更早的写入操作,但仅对参与当前事务的代码而言,它仍然可见。为了使写入永久(对所有外部代码可见),仍然需要提交事务。
没有任何明确的注释,默认情况下,您的EJB bean将是事务性的。
| 归档时间: |
|
| 查看次数: |
3314 次 |
| 最近记录: |