求解,帮助看一下,原来的工程是不是搞错了?
我得到一项目工程源代码,
整个导入myeclipse中是没有任何错误的, 在tomcat中,我又不知从何怎么输入URL。
没有办法。只有自已,重建一下这个项目。 各自部分开调试。 (废话说多了),现在到了hibernate这一步。出问题了!
==============看红色标记
package com.xp1204.DAO.orm;
//import java.io.Serializable;
import java.sql.Connection;
import org.hibernate.FlushMode;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.xp1204.DAO.BaseDAO;
public class BaseImp extends HibernateDaoSupport implements BaseDAO {
/*
表示覆盖,例如定义了一个接口Interface,在其中声明了一个方法
public abstract void getName(); 然后定义一个实现该接口的类
Class,该类就必须实现该方法(写具体的执行动作)。
通常便于我们的理解和认识,在方法前加上@override,也可以不加,
记住,只是便于理解,你可能不是一个人,而是一个团队在战斗
*/
@Override
public void configure() {
Configuration configuration;
SessionFactory sessionFactory;
HibernateTemplate hibernateTemplate;
configuration = new Configuration();
configuration.configure();
sessionFactory = configuration.buildSessionFactory();
hibernateTemplate = new HibernateTemplate(sessionFactory);
setHibernateTemplate(hibernateTemplate);
/*HibernateTemplate 提供如下三个构造函数:
? HibernateTemplateO 。
? HibernateTemplate(org.hibernate.SessionFactory sessionFactory)。
? HibernateTemplate(org.hibernate.SessionFactory sessionFactory, boolean allowCreate) 。
第一个构造函数:构造一个默认的HibernateTemplate 实例,因此,使用HibernateTemplate实例之前,还必须使用方法setSessionFactory(SessionFactory sessionFactory)来为HibernateTemplate 传入SessionFactory 的引用。
第二个构造函数:在构造时已经传入SessionFactory 引用。
第三个构造函数:其boolean 型参数表明,如果当前线程己经存在一个非事务性的Session ,是否直接返回此非事务性的Session 。
对于在Web 应用中,通常启动时自动加载ApplicationContext , SessionFactory 和DAD对象都处在Spring 上下文管理下。因此无须在代码中显式设置,可采用依赖注入解耦SessionFactory 和DAO.
*/
}
@Deprecated
@Override
public Connection connection() {
return getSessionFactory().getCurrentSession().connection();
//return this.getSessionFactory().getCurrentSession; 是不是应改成这样子呀}
//HibernateDaoSupport类中getSession()方法
@Override
public Session openSession() {
return getSession();
}
@Override
public void create(Object entity) {
Session session = getSession();
Transaction transaction = session.beginTransaction();
session.setFlushMode(FlushMode.COMMIT);
session.save(entity);
transaction.commit();
session.refresh(entity);
}
@Override
public void save(Object entity) {
Session session = getSession();
Transaction transaction = session.beginTransaction();
session.setFlushMode(FlushMode.AUTO);
session.save(entity);
transaction.commit();
//&n