考虑代码
public List<Product> listProducts(){
HibernateCallback callBack=new HibernateCallback(){
public Object doInHibernate(Session session){
Query query=session.createQuery("from Product");
return query.list();
}
};
return (List<Product>)hibernateTemplate.execute(callBack);
}
上面的代码有什么问题吗?在 eclipse Helios 中显示以下错误:
The type new HibernateCallback(){} must implement the inherited abstract method HibernateCallback.doInHibernate(Session)
doInHibernate()
已实施,然后显示上述错误的原因?
答案 0 :(得分:3)
确保Session
为org.hibernate.Session
,而非其他内容(例如org.hibernate.classic.Session
)。
这对org.hibernate.Session
和org.hibernate.classic.Session
特别棘手 - 因为后一种界面延伸了前者,这种意外错误不会引起其他问题而且不容易被注意到。