[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