关于JTA容器事务的提交和hibernate的问题?
1,容器管理的事务:事先在ejb-jar.xml中写了事务类型为Container,方法事务属性为Required,是否就表明在调用这个ben方法的时候,如果没有传递事务语境,那么就新建一个事务,在方法调用结束的时候,事务就自动提交(或回滚),也就是说事务的开始和结束全部由事务管理器(即应用服务器)来管理,对于编程用户来说都是透明的.
2,在以上的bean方法中写:
Session s = null;
try {
s = this.getHibernateSession();
s.save(author);
}
在方法运行过程中无任何Exception发生,但是对象author并没有被insert到数据库中;如果在s.save(author)后加入s.flush(),那么就insert到数据库中了。
------------
在hibernate的文档中说:当事务提交的时候flush(同步)隐含(即自动)发生。
那么我的问题是:在以上两点中,我的认识错误发生在哪?