Zkoušel jsem u sebe tu třídu a vadily mu anotace u setteru, dal jsem je ke getteru a smazal jsem generator v teto anotaci @GeneratedValue(strategy = GenerationType.SEQUENCE)
pak jsem zkoušel operace save get a update a chodily. Martin -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Petr Burdik Sent: Thursday, November 22, 2007 2:23 PM To: Java Subject: Re: Spring + hibernate + annotations Mohl byste se mi prosim jeste podivat na to jak jsem tu tridu oanotoval? Ja mam pocit ze bude problem asi tam. Muzu pouzivat pri anotacich stejne jako u tech xml primitivni typy u set/get metod? Pet On Wed, 21 Nov 2007 14:56:57 +0100, Martin Chalupa <[EMAIL PROTECTED]> wrote: > 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/
