Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过Hibernate连接到oracle时出现Hibernate异常_Java_Hibernate_Spring - Fatal编程技术网

Java 通过Hibernate连接到oracle时出现Hibernate异常

Java 通过Hibernate连接到oracle时出现Hibernate异常,java,hibernate,spring,Java,Hibernate,Spring,我正试图通过hibernate连接到oracle,但出现了一个异常 org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here at org.springframework.orm.hibernate3.SpringSessionContext.currentSe

我正试图通过hibernate连接到oracle,但出现了一个异常

org.hibernate.HibernateException: 
No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here   
at org.springframework.orm.hibernate3.SpringSessionContext.currentSession(SpringSessionContext.java:63)     
at org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:574)
at com.mycompany.infra.daoimpl.GenericDAOImpl.findAll(GenericDAOImpl.java:133)
at com.mycompany.testHibernate.TeamTest.main(TeamTest.java:29)
我定义了一个如下所示的应用程序上下文: applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <!-- There is no use for this bean at current moment.  -->  <bean id="OnMediaSessionFactory" parent="sessionFactory">       <property name="schemaUpdate" value="${hibernate.schema_update}" />         <property name="hibernateProperties">           <props>
                <!-- prop key="hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop
-->
                <prop key="show_sql">${hibernate.show_sql}</prop>
                <prop key="connection.provider_class">${hibernate.connection.provider_class}</prop>
                <prop key="hibernate.dialect">${hibernate.dialect}</prop>
                <prop key="hibernate.max_fetch_depth">${hibernate.max_fetch_size}</prop>
                <prop key="hibernate.default_batch_fetch_size">${hibernate.default_batch_fetch_size}</prop>
                <prop key="hibernate.jdbc.fetch_size">${hibernate.jdbc.fetch_size}</prop>
                <prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop>
                <prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>
                <prop key="hibernate.cache.provider_class">${hibernate.cache.provider_class}</prop>
                <prop key="hibernate.cache.use_second_level_cache">${hibernate.cache.use_second_level_cache}</prop>             </props>        </property>     </bean>


    <import resource="classpath:/applicationContext-hibernate.xml" />


    <bean id="messageHandlerSpring" class="com.mycompany.messagehandler.MessageHandlerSpringImpl">  </bean>
            <bean id="omTeamDAO" class="com.mycompany.infra.daoimpl.MutableDAOImpl">        <constructor-arg value="com.mycompany.model.OmTeam" />      

${hibernate.show_sql}
${hibernate.connection.provider\u class}
${hibernate.dial}
${hibernate.max\u fetch\u size}
${hibernate.default\u batch\u fetch\u size}
${hibernate.jdbc.fetch_size}
${hibernate.jdbc.batch_size}
${hibernate.cache.use\u query\u cache}
${hibernate.cache.provider\u class}
${hibernate.cache.use_second_level_cache}







我的测试连接如下所示:

ApplicationContext ctx = new ClassPathXmlApplicationContext(
                "applicationContext.xml");      SessionFactory sessions = (SessionFactory) ctx
                .getBean("OnMediaSessionFactory");

        GenericDAO<OmTeam> dao = new MutableDAOImpl<OmTeam>(OmTeam.class,sessions, 10);
                try {           Collection<OmTeam> teams = dao.findAll();           for (OmTeam team : teams) {
                System.out.println(team.getOmTeamName());           }       } catch (Exception e) {             System.out.println("Exception while loading teams");            e.printStackTrace(); 
    }
ApplicationContext ctx=新的类路径XmlApplicationContext(
“applicationContext.xml”);SessionFactory会话=(SessionFactory)ctx
.getBean(“onMediasionFactory”);
GenericDAO=newmutabledaoimpl(OmTeam.class,sessions,10);
尝试{Collection teams=dao.findAll();for(OmTeam:teams){
System.out.println(team.getOmTeamName());}}}catch(异常e){System.out.println(“加载团队时的异常”);e.printStackTrace();
}
另一个项目中的以下行工作:

收集小组= dao.findAll()

我的代码怎么了

我希望能快速有效地得到答案。。 谢谢


Rivki.

Spring不允许非事务性hibernate访问。因此,如果您添加事务访问,您的异常应该消失。

如果您花一些时间格式化粘贴的代码,您的问题更有可能得到回答。目前,由于一些很长的行和很差的缩进,很难阅读。您如何管理事务?