public void insertCustomer(Customer c) {
Configuration cfg = new Configuration().configure();
SessionFactory sf = cfg.buildSessionFactory();
Session s = sf.openSession();
Transaction ts = s.beginTransaction();
s.save(c);
ts.commit();
s.close();
}我反编译看了一下,发现session是接口,在上面的程序中没有具体的类实现session接口,为什么可以调用,并且将数据插入数据库
Configuration cfg = new Configuration().configure();
SessionFactory sf = cfg.buildSessionFactory();
Session s = sf.openSession();
Transaction ts = s.beginTransaction();
s.save(c);
ts.commit();
s.close();
}我反编译看了一下,发现session是接口,在上面的程序中没有具体的类实现session接口,为什么可以调用,并且将数据插入数据库
解决方案 »
- 急急急!HibernateTemplate的update锁数据表问题
- java内存溢出
- 做华为外包有啥好?
- 高分求“web metrics tool”的实施和报告,相关资料也可。谢谢
- struts2用超链接访问,提示一个警告
- 使用IBATIS 技术问题
- 要解的hibernte的问题
- 从servlet解析xml后输出到浏览器,浏览器如何用js解析xml
- Hibernate问题:QuerySyntaxError: User is not mapped,帮帮忙吧
- jdom解析xml问题,请高手指示
- linux yum error,这个error已经困扰我好一段时间了.各位大哥哥指点一下小弟,感激不尽
- 高分急求高手给个彩信转成byte[]的封装方法
SessionImpl的机构如下:
public final class SessionImpl
extends AbstractSessionImpl
implements EventSource, Session, JDBCContext.Context
所以程序中s.save(c)等都是调用实现类中的方法,当然可以操作数据啊。
两者有矛盾吗?
兄台的java水平不是一般的差啊,o(∩_∩)o...哈哈
你去看看JDK里面,很多类都是这样写的了。
SessionImpl实现了EventSource接口public final class SessionImpl extends AbstractSessionImpl
implements EventSource, org.hibernate.classic.Session,
JDBCContext.Context {}而EventSource接口继承了Sessionpublic interface EventSource extends SessionImplementor, Session {}