Fir*_*ter 5 java jpa eclipselink
我只是想了解JSF和JPA,但是每当我尝试将一个对象持久保存到数据库中时,它似乎都不会消失。这是我正在使用的代码:
@Named
@ManagedBean
@SessionScoped
public class BestemmingController implements Serializable{
@PersistenceUnit(unitName="RealDolmenTravelShopPU")
@PersistenceContext(unitName="RealDolmenTravelShopPU")
EntityManagerFactory emf = null;
public void submit(){
try{
emf = Persistence.createEntityManagerFactory("RealDolmenTravelShopPU");
EntityManager em = emf.createEntityManager();
//EntityTransaction et = em.getTransaction();
//et.begin();
Bestemming nieuweBestemming = new Bestemming();
Land gezochtLand = em.find(Land.class, selectedLand);
nieuweBestemming.setLand(gezochtLand);
nieuweBestemming.setNaam(bestemmingNaam);
em.persist(nieuweBestemming);
//et.commit();
//em.flush();
em.close();
}catch (Exception e){
e.printStackTrace();
}finally{
emf.close();
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用EntityTransaction,但它只是停止了我的应用程序,没有任何错误或任何其他信息。所以我省略了它,但仍然没有写掉。因此,我尝试了分别调用flush,但是那也没做。我真的很困惑为什么这不起作用。这可能是一些新手的错误,但是如果有人可以帮助我,我会喜欢的。
提前致谢!
首先,你能写入日志吗?在指定使用 JTA 的持久性单元时启动事务将引发异常,因此您可能刚刚在容器日志文件中丢失了异常。
其次,这是一个 JTA PU,因此它需要启动一个与 EM 关联的 JTA 事务,并且您需要注入它们而不是自己创建工厂。首先查看此处的 JPA 应用程序服务器示例,了解它们是如何设置的: http: //wiki.eclipse.org/EclipseLink/Examples/JPA
归档时间: |
|
查看次数: |
2331 次 |
最近记录: |