使用休眠和提交将数据保存在数据库中()

问题描述:

我在java EE中创建了restful api。使用休眠和提交将数据保存在数据库中()

我已经在类中定义

private static Session session = NewHibernateUtil.getSessionFactory().getCurrentSession(); 
private static org.hibernate.Transaction tx = session.beginTransaction(); 

和方法我打电话然而

Person n = new Person(getPersonId() , name); 
      session.save(n); 
      tx.commit(); 

提交()关闭交易,且无需提交数据不会被保存在数据库中。在不使用提交的情况下将数据保存到数据库的最佳方式是什么?这导致在每个缓慢的请求上创建新的事务。

+0

*这会导致在每个缓慢的请求上创建新的事务*:不,它不慢。从你的脑海中解脱出来。 –

+0

另外,如果您使用的是Java EE容器,那么您应该使用JPA和声明式事务处理。自己启动和提交hibernate事务正是Java EE允许避免的关键之一。 –

尝试不使用事务并提交。保存后使用刷新。

+0

可以详细说明吗? – Dingo

+0

session.save(n);调用Session.flush();这不会创建一个sql事务,但应该插入n个寄存器。 – user7358693