[Java lista] NetBeans + Maven + MavenIde + Spring + JPA + Hibernate

Kristof Jozsa dyn at ond.vein.hu
2007. Júl. 19., Cs, 16:22:28 CEST


Zsombor wrote:
> 
> 
> On 7/19/07, *István Viczián* <viczian.istvan at gmail.com
> <mailto:viczian.istvan at gmail.com>> wrote:
> 
>     Szia,
> 
>     mármint http-n keresztül? És controllert, mert servlet nem nagyon van
>     a projektben. Valószínű nem lesz jó, mert amíg nem megy végig az init,
>     nem hiszem, hogy http kéréseket kiszolgál az alkalmazás. Meg amúgy is
>     csúnya workaround. Ha nem így gondolod, hanem direktbe, azon semmilyen
>     metódushívás nem segít, mert Magyusz szerint a tranz. körny.
>     threadlocal, szálhoz kötött, így biztos nem kerül bele.
> 
>     Valószínű az lesz, hogy az első http kérésnél inicializálok, egy
>     rekord, ennyit nem ér az egész.
> 
>     Még Lóci levelére:
>     - igen, a nem globális repozitory használata segíteni fog, köszi
>     - a TransactionTemplate azért nem szimpi, mert vért izzadtam, hogy
>     legyen annotation-ös tranzakció kezelésem, erre tessék, nincs, és
>     használhatom őket keverve - no ezért maradok az első kérésnél
> 
>     Aki viszont Quartz-ol, vagy Thread-ezik, azt tényleg sajnálom, mert
>     ez így gáz.
> 
>     Viczi
> 
> 
> Ööh ... továbbra sem értem, hogy hogyan valósitottad meg ezt az
> annotációs tranzakció kezelést, nálam egyszerüen annyi van, hogy minden
> osztály amire rá van biggyesztve osztály szinten a @Transactional
> annotáció az kap hibernate-s sessiont. Lehet, hogy JPA mögött ez
> bonyolultabb, de megvalósítható a springes tutorial alapján.
> 
> Kb ennyi:
> 
>     <bean id="hibernateProperties"
> class="org.springframework.beans.factory.config.PropertiesFactoryBean">
>         <property
> name="location"><value>classpath:hibernate.properties</value></property>
>     </bean>
> 
>     <bean id="sessionFactory"
>           
> class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
> autowire="byName">
>    
>       <property
> name="configLocation"><value>classpath:hibernate.cfg.xml</value></property>
>           <property name="configurationClass">
>                <value>org.hibernate.cfg.AnnotationConfiguration</value>
>         </property>
>         <property name="hibernateProperties">
>             <ref local="hibernateProperties"/>
>       </property>
>     </bean> 
> 
>     <bean id="autoproxy" class="
> org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"
>           autowire="autodetect"/>
>     <bean id="transactionInterceptor"
> class="org.springframework.transaction.interceptor.TransactionInterceptor" >
>         <property name="transactionManager" ref="transactionManager"/>
>         <property name="transactionAttributeSource">
>           <bean
> class="org.springframework.transaction.annotation.AnnotationTransactionAttributeSource"/>
>         </property>   
>     </bean>
>     <bean id="transactionAdvisor"
> class="org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor">
>      <property name="transactionInterceptor" ref="transactionInterceptor"/>
>     </bean>
>     <bean id="transactionManager" class="
> org.springframework.orm.hibernate3.HibernateTransactionManager"
>           autowire="autodetect">
>       <property name="sessionFactory" ref="sessionFactory" />
>     </bean>
>     <bean id="transactionAttributeSource"
>          
> class="org.springframework.transaction.annotation.AnnotationTransactionAttributeSource
> "/>
> 
> S mindegyik szervizemnél:
> 
>    <bean id="objectManager" class="ize.impl.BigyoService" lazy-init="true">
>       <property name="sessionFactory" ref="sessionFactory"/>
>    </bean>
> 
> Ezeket meg aztán a startup beanekből nyugodtan lehet hivogatni.

spring config elejen:
<beans
    default-autowire="autodetect"
    default-lazy-init="true"
.
igy rovidebb.

dyn



További információk a(z) Javalist levelezőlistáról