将实体保存在交易之外

时间:2019-04-22 13:05:40

标签: java hibernate jpa

我有以下代码尝试将实体保存在交易之外:

Session session = HibernateUtil.buildSessionFactory().openSession();
Teacher t= new Teacher();
t.setName("jonathan");
session.save(t);
session.flush();

根据save()的定义(如果在事务外使用),我们需要执行flush()将实体保存在db中。但是上面的代码没有保存它。我必须创建一个transactioncommit以便在db中添加一行。为什么会这样?

我正在使用HIbernate 4.3.6

编辑:我只是注意到session.save()返回id,但仅在transaction.commit()添加行之后。另一个问题没有回答我的问题,因为这基本上意味着save()顺序在db中添加行必须仅在事务中

0 个答案:

没有答案