Did you try the OpenSessionInViewFilter?
In web.xml, define this filter:

<filter>
    <filter-name>hibernateFilter</filter-name>               
<filter-class>org.springframework.orm.hibernate.support.OpenSessionInViewFilter</filter-class>
</filter>

I have not tried this with MyFaces yet, but with Struts this worked for me.

HTH,
Turgay.

On 8/31/05, Rick Gruber-Riemer <[EMAIL PROTECTED]> wrote:
> Hej
> 
> I use MyFaces (1.0.9), Hibernate (3.0.5) and Spring (1.22) in my 
> webapplication. When I get a list of records from the database in a table or 
> make a new record using a form everything works fine. However when I try to 
> edit a record in a form, I get a org.hibernate.LazyInitializationException 
> error on opening the editform.
> I understand this has something to do with the Hibernate sessions. And it has 
> nothing to do with MyFaces in particular. And I have found some hints by 
> googeling like Spring's OpenSessionInViewFilter. However I do not have a clue 
> what to change where in the configuration.
> 
> => Has somebody used JSF+Spring+Hibernate successfully?
> => Downloadable sample code?
> => Do I need the jsf-spring integration library?
> 
> Any hint would be much appreciated ... Rick
> 
> <hibernate-mapping>
>         <class 
> name="dk.trafikstyrelsen.data.transfer.dto.railsecurity.danafile.ScanJourLink"
>                 table="DANAFILE.SCANJOUR_LINK">
>                 <id name="id" type="long" column="ROW_ID">
>                         <meta attribute="scope-set">protected</meta>
>                         <generator class="sequence">
>                 <param name="sequence">DANAFILE.SEQNUMBER</param>
>                 </generator>
>         </id>
>                 <version column="REVISION" name="revision" />
>                 <property name="objId" type="string" not-null="true"/>
>                 <property name="scanJourNumber" type="int" 
> column="SCANJOUR_NUMBER" not-null="true"/>
>                 <property name="notes" type="string" column="NOTES" 
> not-null="false"/>
>                 <property name="active" type="yes_no" column="ACTIVE" 
> not-null="true" />
>                 <property name="createdBy" type="string" column="CREATED_BY" 
> not-null="true"/>
>                 <property name="lastUpdatedBy" type="string" 
> column="LAST_UPD_BY" not-null="true"/>
>                 <property name="createdDate" type="timestamp" 
> column="CREATED_DT" not-null="true"/>
>                 <property name="lastUpdatedDate" type="timestamp" 
> column="LAST_UPD_DT" not-null="true"/>
>         </class>
> </hibernate-mapping>
> 
> <beans>
>         <bean id="danafileHbmDS" class="oracle.jdbc.pool.OracleDataSource">
>                 <property 
> name="driverType"><value>oracle.jdbc.OracleDriver</value></property>
>                 <property 
> name="URL"><value>jdbc:oracle:thin:@10.0.0.3:1521:dhdvl</value></property>
>                 <property name="user"><value>danafile_web</value></property>
>                 <property name="password"><value>styr3ls3n</value></property>
>         </bean>
> 
>         <!-- Hibernate SessionFactories -->
>         <bean id="danafileHbmSF" 
> class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
>                 <property name="dataSource"><ref 
> local="danafileHbmDS"/></property>
>                 <property name="mappingResources">
>                         <list>
>                                 
> <value>dk/trafikstyrelsen/data/transfer/dto/railsecurity/danafile/ScanJourLink.hbm.xml</value>
>                         </list>
>                 </property>
>                 <property name="hibernateProperties">
>                         <props>
>                                 <prop 
> key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
>                                 <prop key="hibernate.query.substitutions">yes 
> 'Y', no 'N'</prop>
>                                 <prop key="hibernate.show_sql">true</prop>
>                         </props>
>                 </property>
>         </bean>
> 
>         <!-- Transaction manager for a single Hibernate SessionFactory 
> (alternative to JTA) -->
>         <bean id="transactionManager" 
> class="org.springframework.orm.hibernate3.HibernateTransactionManager">
>                 <property name="sessionFactory"><ref 
> local="danafileHbmSF"/></property>
>         </bean>
> 
>         <bean id="scanJourLinkDAO" 
> class="dk.trafikstyrelsen.data.transfer.dao.railsecurity.danafile.ScanJourLinkHbmDAO">
>                 <property name="sessionFactory"><ref 
> local="danafileHbmSF"/></property>
>         </bean>
> </beans>
> 
> 
> ERROR - LazyInitializationException.<init>(19) | could not initialize proxy - 
> the owning Session was closed
> org.hibernate.LazyInitializationException: could not initialize proxy - the 
> owning Session was closed
>         at 
> org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:53)
>         at 
> org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:84)
>         at 
> org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:134)
>         at 
> dk.trafikstyrelsen.data.transfer.dto.railsecurity.danafile.ScanJourLink$$EnhancerByCGLIB$$c24a4569.getScanJourNumber(<generated>)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at 
> org.apache.myfaces.el.PropertyResolverImpl.getProperty(PropertyResolverImpl.java:419)
>         at 
> org.apache.myfaces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:104)
>         at 
> org.apache.myfaces.el.ELParserHelper$MyPropertySuffix.evaluate(ELParserHelper.java:555)
>         at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)
>         at 
> org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:441)
> 
> 


-- 
Regards,
Turgay Zengin

Reply via email to