Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.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 opensessioninview和commit事务_Java_Oracle_Hibernate_Spring_Transactions - Fatal编程技术网

Java opensessioninview和commit事务

Java opensessioninview和commit事务,java,oracle,hibernate,spring,transactions,Java,Oracle,Hibernate,Spring,Transactions,我正在使用Hibernate、Spring和JSF 为了防止LazyInitializationException,我使用 <bean name="openSessionInViewInterceptor" class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor"> <property name="sessionFactory" ref="sessionFact

我正在使用Hibernate、Spring和JSF

为了防止LazyInitializationException,我使用

<bean name="openSessionInViewInterceptor" class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor">
        <property name="sessionFactory" ref="sessionFactory"/>
        <property name="singleSession" value="true"/>
</bean>

在myDAO中,我定义了以下方法:

public Collection<T> findAll() {
        Session session = getSessionFactory().getCurrentSession();
        Transaction tx = session.beginTransaction();
        return 
            session.createCriteria( persistentClass 
                    ).setResultTransformer( Criteria.DISTINCT_ROOT_ENTITY
                            ).list();
    }
public Collection findAll(){
会话会话=getSessionFactory().getCurrentSession();
事务tx=会话.beginTransaction();
返回
session.createCriteria(persistentClass
).setResultTransformer(Criteria.DISTINCT\u ROOT\u实体
).list();
}
我这样调用这个方法:

@Transactional( readOnly = false, propagation = Propagation.SUPPORTS )
    public Collection<MyData> getMyData() {
        return (Collection<MyData>) myDAO.findAll();
    }
@Transactional(readOnly=false,propagation=propagation.SUPPORTS)
公共集合getMyData(){
return(Collection)myDAO.findAll();
}
在本例中,我使用了Spring事务。我是否需要在
transaction tx=session.beginTransaction()中启动事务;以及findAll方法中的tx.commit()?


当使用
@Transactional
时,我正在使用Oracle 10g

(您有一个名为
transactionManager的bean,并且有
),那么您就不需要手动处理事务了