我正想通过Hibernate的教程,并注意到,在每道你必须得到会议,开始transaction.Perform所有操作,然后提交相同的代码包装为不同的DAO方法
private void createAndStoreEvent(String title, Date theDate) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
//Perform operations...
session.getTransaction().commit();
}
然后,我已经注意到一个名为AppFuse的框架,使用Hibernate具有如图below.I不看的BeginTransaction,并承诺DAO方法
public List<Person> findByLastName(String lastName) {
//begintransaction
return getHibernateTemplate().find("from Person where lastName=?", lastName);
//Commit
}
不知AppFuse的是如何结束了与session.beginTransaction()和session.getTransaction的DAO操作() 。承诺();
通过使用这种技术,程序员不必担心hibernate事务stuff.I想要它的方式,即使dao方法被覆盖,事务包装代码应该会自动到来。 我已经尝试将dao传递给装饰器类,并将装饰器类中的dao方法调用包装起来。但由于dao接口方法将发生变化,所以思路dint起作用。我们究竟能够实现这一点。