Java Spring数据项目中Spring ORM的会话工厂

Java Spring数据项目中Spring ORM的会话工厂,java,spring,spring-boot,hibernate,spring-data-jpa,Java,Spring,Spring Boot,Hibernate,Spring Data Jpa,我有一个项目,他的DAO类扩展了HibernateDaoSupport,如下所示: import org.springframework.orm.hibernate3.support.HibernateDaoSupport; public class SomeThingDAOImpl extends HibernateDaoSupport implements SomeThingDAO{ //methods here } 现在,我已经对该项目进行了升级,使用SpringBoot,出于某

我有一个项目,他的DAO类扩展了HibernateDaoSupport,如下所示:

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;


public class SomeThingDAOImpl extends HibernateDaoSupport implements SomeThingDAO{

//methods here

}
现在,我已经对该项目进行了升级,使用SpringBoot,出于某些原因,我正在使用SpringDataJPA。但问题是,DAO类不在Spring应用程序上下文中,出现了一个异常,如下所示:

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;


public class SomeThingDAOImpl extends HibernateDaoSupport implements SomeThingDAO{

//methods here

}
调用init方法失败;嵌套异常是 java.lang.IllegalArgumentException:“sessionFactory”或 “hibernateTemplate”是必需的

会话工厂是在使用spring数据实现JpaRepository接口时自动设置的,但我不能这样做,因为项目需要HibernateDataSupport的某些功能,如getSession().createSQLQuery和其他功能

以下是我已经做过的一些事情:

  • 我已经将@Repository插入到该类中,变成了一个Springbean,并由应用程序上下文扫描。不要工作 问题是:如何在没有异常的情况下启动应用程序并启动会话工厂

    编辑1:以下是代码的其他部分:

    import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
    
    
    public class SomeThingDAOImpl extends HibernateDaoSupport implements SomeThingDAO{
    
    
    
    private static final String SQL_SELECT =
                "select ............";
    
    
    
    @Override
        public User user(String name, String adress) {
            User result = new User();
            result.setName(name);
            result.setAdress(adress);
            SQLQuery query = getSession().createSQLQuery(SQL_SELECT)
                    .addScalar("name", Hibernate.INTEGER)
                    .addScalar("adress", Hibernate.STRING)         
            query.setString("name", name);
            query.setString("adress", adress);
    
    
    return result;
    
    
    }
    

    经过一些研究,a无法找到一个明确的解决方案,但我已经在项目中做了一些更改,所有这些都在工作


    我已经修改了@ImportResource({“classpath:applicationContext.xml”})一个站点,现在我有两个上下文配置文件。

    请共享一段更具可复制性的代码,它可以帮助我们更好地理解和帮助您。请使用Spring数据JPA。将所有SQLQueries转换为本地查询。不能这样做,这是一个非常大的项目