Ahoj, do bean si dávám přímo sessionFactory

<bean id="dao" class="cz.chali.dao.Dao">
        <property name="sessionFactory" ref="sessionFactory"/>
</bean>

A v dao pak.
sessionFactory.getCurrentSession().createQuery("....");

Martin

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Petr Burdik
Sent: Wednesday, November 21, 2007 1:58 PM
To: Java
Subject: Re: Spring + hibernate + annotations

Ahoj,
super. to funguje. Akorat drobny problem je, ze mi to hlasi porad stejnou  
chybu. Jak prosim Te pracujes s tou session? Ja jenom jestli nemam chybu  
prave v tom.

Pet


On Wed, 21 Nov 2007 13:04:45 +0100, Martin Chalupa  
<[EMAIL PROTECTED]> wrote:

> Ahoj, také používám oba přístupy a konfiguraci mám takto.
>
>       <bean id="sessionFactory"
> class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactor
> yBean">
>               <property name="dataSource" ref="dataSource"/>
>               <property name="annotatedClasses">
>                       <list>
>                               <value>cz.chali.SomeEntity</value>
>                       </list>
>               </property>
>               <property name="mappingLocations">
>                       <list>
>       
> <value>classpath:cz/chali/SomeEntity2.hbm.xml</value>
>                       </list>
>               </property>
>               <property name="hibernateProperties">
>                       <value>
>                               hibernate.dialect=${db.dialect}
>       
> hibernate.current_session_context_class=thread
>                       </value>
>               </property>
>       </bean>
>
> Martin
>
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
> Behalf Of Petr Burdik
> Sent: Wednesday, November 21, 2007 12:51 PM
> To: Java
> Subject: Spring + hibernate + annotations
>
> Ahojte,
> pouzival jsem pro hibernate vzdy xml soubory a vse fungovalo jak jsem
> potreboval. Ted se snazim prejit na annotace a mam problem s tim ze mi  
> pri
> dotazech pise NullPointerException. Pritom session factory neni null,
> criteria taky ne a session taktez ne.
>
>
>
> Pouzivam v soucasne dobe hibridni pristup. Tedy mam jednu
> hibernateSessionFactory pro annotace, druhou mam pro klasickou  
> konfiguraci
> pres xml. Soubor s anotovanym objektem mi normalne najde. Tam zadny
> problem neni. Jenom kdyz zjistuju pocet objektu v kolekci.
>
> konfigurace springu:
>
>      <!-- hibernate OR mapping -->
>      <bean id="hibernateSessionFactory4Annotations"
> class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
>          <property name="dataSource" ref="myDataSourceAnnotations" />
>          <property name="configurationClass"
> value="org.hibernate.cfg.AnnotationConfiguration"/>
>          <property name="configLocation"
> value="classpath:mappings/hibernate.annotations.cfg.xml"/>
>          <property name="hibernateProperties">
>              <props>
>                    <prop  
> key="hibernate.bytecode.provider">javassist</prop>
>                    <prop key="hibernate.show_sql">true</prop>
>                    <prop
> key="hibernate.cache.use_second_level_cache">false</prop>
>                    <prop key="hibernate.hbm2ddl.auto">update</prop>
>              </props>
>          </property>
>      </bean>
>
> v souboru hibernate.annotations.cfg.xml je nasledujici radek:
>
> <?xml version="1.0"?>
> <!DOCTYPE hibernate-configuration PUBLIC
>       "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
>       "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd";>
> <hibernate-configuration>
>      <session-factory>
>          <mapping  
> class="net.itsynapse2.ecomerce.entity.bank.BankTransfer"/>
>      </session-factory>
> </hibernate-configuration>
>
> Anotovany objekt:
> @Entity
> @Table(name="ecomerce_bank_bankTransfers")
> public class BankTransfer implements Cloneable, IHibernateCloneable {
>      protected long transferId = 0;                              // cislo
> bankovniho transferu
>      protected BankAccount bankAccountIn = new BankAccount();    // cislo
> bankovniho uctu odesilatele
>      protected BankAccount bankAccountOut = new BankAccount();   // cislo
> bankovniho uctu prijemce
>      protected long variableSymbol = 0;                          //
> variabilni symbol
>      protected long specificSymbol = 0;                          //
> specificky symbol
>      protected long constantSymbol = 0;                          //
> konstantni symbol
>      protected double price = 0;                                 //  
> castka
>      protected int currencyCode = 0;                             // kod  
> meny
>      protected String currencyTextCode = "";                     // kod
> meny jako text
>      protected Date transferTS = new Date(0);                    // datum
> provedeni transakce
>      protected long assignedTaxDocumentOid = 0;                  // cislo
> prirazeneho danoveho dokladu
>      protected int assignedTaxDocumentType = 0;                  // typ
> danoveho dokladu
>      protected int assignState = 0;                              // stav
> prirazeni transferu k danovemu dokladu
>      protected String originalText = "";                         //
> originalni text
>
>      @Id @GeneratedValue(strategy=GenerationType.SEQUENCE,
> generator="ecomerce_bank_bankTransfers_transferId_seq")
>      public void setTransferId( long transferId ) { this.transferId =
> transferId; }
>      public long getTransferId() { return transferId; }
>      @Embedded
>      @AttributeOverrides( {
>              @AttributeOverride(name="bankAccountId", column =
> @Column(name="accountIn_bankAccountId") ),
>              @AttributeOverride(name="accountPrefix", column =
> @Column(name="accountIn_accountPrefix") ),
>              @AttributeOverride(name="accountNumber", column =
> @Column(name="accountIn_accountNumber") ),
>              @AttributeOverride(name="iban", column =
> @Column(name="accountIn_iban") ),
>              @AttributeOverride(name="bankCode", column =
> @Column(name="accountIn_bankCode") ),
>              @AttributeOverride(name="name", column =
> @Column(name="accountIn_bankTextCode") )
>      } )
>      public void setBankAccountIn( BankAccount bankAccountIn ) {
> this.bankAccountIn = bankAccountIn; }
>      public BankAccount getBankAccountIn() { return bankAccountIn; }
>      @Embedded
>      @AttributeOverrides( {
>              @AttributeOverride(name="bankAccountId", column =
> @Column(name="accountOut_bankAccountId") ),
>              @AttributeOverride(name="accountPrefix", column =
> @Column(name="accountOut_accountPrefix") ),
>              @AttributeOverride(name="accountNumber", column =
> @Column(name="accountOut_accountNumber") ),
>              @AttributeOverride(name="iban", column =
> @Column(name="accountOut_iban") ),
>              @AttributeOverride(name="bankCode", column =
> @Column(name="accountOut_bankCode") ),
>              @AttributeOverride(name="name", column =
> @Column(name="accountOut_bankTextCode") )
>      } )
>      public void setBankAccountOut( BankAccount bankAccountOut ) {
> this.bankAccountOut = bankAccountOut; }
>      public BankAccount getBankAccountOut() { return bankAccountOut; }
>      @Column(name="variableSymbol")
>      public long getVariableSymbol() { return variableSymbol; }
>      public void setVariableSymbol( long variableSymbol ) {
> this.variableSymbol = variableSymbol; }
>      @Column(name="specificSymbol")
>      public long getSpecificSymbol() { return specificSymbol; }
>      public void setSpecificSymbol( long specificSymbol ) {
> this.specificSymbol = specificSymbol; }
>      @Column(name="constantSymbol")
>      public long getConstantSymbol() { return constantSymbol; }
>      public void setConstantSymbol( long constantSymbol ) {
> this.constantSymbol = constantSymbol; }
>      @Column(name="price")
>      public double getPrice() { return price; }
>      public void setPrice( double price ) { this.price = price; }
>      @Column(name="currencyCode")
>      public int getCurrencyCode() { return currencyCode; }
>      public void setCurrencyCode( int currencyCode ) { this.currencyCode  
> =
> currencyCode; }
>      @Column(name="currencyTextCode")
>      public String getCurrencyTextCode() { return currencyTextCode; }
>      public void setCurrencyTextCode( String currencyTextCode ) {
> this.currencyTextCode = currencyTextCode; }
>      @Column(name="transferTS")
>      public Date getTransferTS() { return transferTS; }
>      public void setTransferTS( Date transferTS ) { this.transferTS =
> transferTS; }
>      @Column(name="assignedTaxDocumentOid")
>      public long getAssignedTaxDocumentOid() { return
> assignedTaxDocumentOid; }
>      public void setAssignedTaxDocumentOid( long assignedTaxDocumentOid  
> ) {
>
> this.assignedTaxDocumentOid = assignedTaxDocumentOid; }
>      @Column(name="assignedTaxDocumentType")
>      public int getAssignedTaxDocumentType() { return
> assignedTaxDocumentType; }
>      public void setAssignedTaxDocumentType( int assignedTaxDocumentType  
> )
> { this.assignedTaxDocumentType = assignedTaxDocumentType; }
>      @Column(name="assignState")
>      public int getAssignState() { return assignState; }
>      public void setAssignState( int assignState ) { this.assignState =
> assignState; }
>      @Column(name="originalText")
>      public String getOriginalText() { return originalText; }
>      public void setOriginalText( String originalText ) {  
> this.originalText
>
> = originalText; }
>
> }
>
> Chyba kterou mi to hlasi pri inicializaci do logu - ten posledni radek.
> Pritom ty anotace projde.:
>
> 2007-11-21 12:25:29,887 INFO [org.hibernate.cfg.annotations.Version] -
> <Hibernate Annotations 3.3.0.GA>
> 2007-11-21 12:25:29,957 INFO [org.hibernate.cfg.Environment] - <Hibernate
> 3.2.3>
> 2007-11-21 12:25:29,977 INFO [org.hibernate.cfg.Environment] -
> <hibernate.properties not found>
> 2007-11-21 12:25:29,983 INFO [org.hibernate.cfg.Environment] - <Bytecode
> provider name : cglib>
> 2007-11-21 12:25:29,998 INFO [org.hibernate.cfg.Environment] - <using JDK
> 1.4 java.sql.Timestamp handling>
> 2007-11-21 12:25:30,535 INFO [org.hibernate.cfg.Configuration] -
> <configuring from url:
> file:/home/pet/work/svn/itsynapse20/trunk/target/itsynapse20-2.0-SNAPSHOT/WE
> B-INF/classes/mappings/hibernate.annotations.cfg.xml>
> 2007-11-21 12:25:30,621 INFO [org.hibernate.cfg.Configuration] -
> <Configured SessionFactory: null>
>
> Kdyz napisu do toho souboru hibernate.annotations.cfg.xml nazev  
> annotovane
> tridy spatne, tak mi to vyhlasi ze neexistuje. Takze zjevne tu tridu
> najde. Akorat je divne ze pak nenapise jako pri klasicke inicializaci
> pomoci xml neco ve stylu:
>
> 2007-11-21 12:46:59,221 INFO [org.hibernate.cfg.HbmBinder] - <Mapping
> class: net.itsynapse2.ecomerce.entity.article.Article ->  
> ecomerce_article>
>
> Problem je pak kdyz chci nejake radky pomoci criteria dostat tak mi to
> vyhlasi NullPointerException. Za jakoukoliv radu budu moc rad.
>
> Pet
>



-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

Odpovedet emailem