看过hibernate的API,看到Session是一个接口,但当我们持久化一个对象的时候,比如实例化一个Session session = sessionfactory.openSession();这时却用到session.beginTransaction();并且后面当我们持久化对象时也用到了session.save(Class);这样的方法究竟是怎么定义的呢?不是说接口里面的方法都没有实现体吗?那么我们那样子调用为什么会没有出错呢?
调试欢乐多
public Transaction beginTransaction();
public void save(Object o);
}public class XxxxSession implements Session {
public void save(Object o) {
.......
}
}Session session = new XxxxSession();
session.save(...);