1.0          其他语言
 
 

4.4 换成另一种 O/R mapping 实现

 
 

如果你不喜欢 VelocityWeb 提供的 O/R mapping ,你可以切换到其他的 O/R mapping,比如 OJB,Hibernate。你需要写一个自己的 DAO 基类来代替 JdbcDao 。比如:

public abstract HibernateDAO extends BaseDao {
    private Session session;

    public HibernateDAO(AppContext ctx) {
        Connection con = ctx.getConnection();
        this.session = sessionFactory.openSession(con);
    }
    
    public void save(HibernateBean bean){
        session.save(bean);
    }
    ...
}

然后我们仍然可以使用 VelocityWeb 提供的“每个请求一个事务” (TRANSACTION-PER-REQUEST) 。这可以更容易地进行正确的事务管理。