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

Zsombor gzsombor at gmail.com
2007. Jl. 19., Cs, 16:21:40 CEST


On 7/19/07, István Viczián <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.


Üdv
 Zs
--------- kvetkez rsz ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20070719/13e59345/attachment-0001.html 


Tovbbi informcik a(z) Javalist levelezlistrl