[Biojava-l] Biojavax and hibernate problems

Zagato zagato.gekko at gmail.com
Fri Apr 20 16:43:25 UTC 2007


Hello.... i wonder if a more simple procedure works or not....

Try don't using a RichSequenceDB, commenting:
           // RichSequenceDB db = new BioSQLRichSequenceDB(session);

And try using...

            t = session.beginTransaction();
            session.saveOrUpdate( "Sequence", gbkSeq );
            t.commit();

This is without using a RichSequenceDB object, but using a RichSequence
directly....

I used this for load a set of sequences in my postgres BioSQL database and
works for me.... Bye :D !!!!

Alan Jairo Acosta
Cali - Colombia

On 4/20/07, bertrand beckert <bertrand.beckert at gmail.com> wrote:
>
> Dear all,
>
> I am newbie  to java and biojavax... I have installed the BioSQL database
> and I have tried to connect to this base an put some data... In oder to do
> this I have installed Biojavax, and also hibernate (and the different .jar
> required). So I have tried to put some data but it didn't work... here is
> my
> code and the error in the output.
>
> Could you help me please. Thanks
>
> ---------
>
> package fr.ustrasbg.ibmc.bbeckert;
>
> import org.biojavax.bio.seq.io.RichSequenceBuilderFactory;
> import org.biojavax.bio.seq.io.RichSequenceFormat;
> import org.biojavax.bio.seq.io.RichStreamReader;
> import org.biojavax.bio.seq.io.GenbankFormat;
> import org.biojavax.bio.seq.RichSequence;
> import org.biojavax.bio.seq.RichFeature;
> import org.biojavax.bio.db.RichSequenceDB;
> import org.biojavax.bio.db.biosql.BioSQLRichSequenceDB;
> import org.biojavax.RichObjectFactory;
> import org.biojava.bio.BioException;
> import org.biojava.bio.seq.db.IllegalIDException;
> import org.hibernate.Session;
> import org.hibernate.SessionFactory;
> import org.hibernate.Transaction;
> import org.hibernate.HibernateException;
> import org.hibernate.cfg.Configuration;
>
> import java.io.File;
> import java.io.BufferedReader;
> import java.io.FileReader;
> import java.io.IOException;
> import java.util.Iterator;
>
> public class HibernatLoadingData {
>
>     public RichSequence gbkRichSeq (File f) {
>         [....]
>        return sequence;
>     }
>
> public static void loadingData (RichSequence gbkSeq){
>
>         SessionFactory sessionFactory = new
> Configuration().configure().buildSessionFactory();
>         Session session = sessionFactory.openSession();
>         RichObjectFactory.connectToBioSQL(session);
>         RichSequenceDB db = new BioSQLRichSequenceDB(session);
>
>         Transaction t=null;
>         try{
>             t = session.beginTransaction();
>             //test to kown is the database is active->true
>             System.out.println(t.isActive());
>             db.addRichSequence(gbkSeq);            //it should work...
>             t.commit();
>         } catch (HibernateException e) {
>             e.printStackTrace();
>             if (t != null && t.isActive())
>                 t.rollback();
>         } catch (BioException e) {
>                 e.printStackTrace();
>             }
>             session.close();
>         }
>
> public static void main(String[] args) {
>
>         File f = new
> File("/home/bertrand/IdeaProjects/ncRNAs/data/test.gbk");
>         HibernatLoadingData hl= new HibernatLoadingData();
>         RichSequence sequence=hl.gbkRichSeq(f);
>         loadingData(sequence);
>   }
> }
>
>
> output:
>              RichSequence gbkRichSeq:
>
> sequence name:CAK20891 AC:CAK20891
> Division:BCT
> length:688
> Protein start:1 end:688 Strand:POSITIVE
> MSKDFLLEIGLEEMPAQYVTSSVAQLEKRVSDWLNENQITFEKIKTYSTPRRLTVLVEAM
> AEEQANRVEEAKGPAKKIALDDEGNWSKAALGFARSQKVEPADLTFREIKGVEYIYIKKE
> VIGEKTTALLPSLEKVVTSMTFPVSMHWGSNDLRYIRPIKWLIAMFGEEIIPFEITGVST
> SNTSRGHRFLGKTATIKQPSDYPNALLEQFVVVNAEERKQAIVEQLRELESMENWQIKED
> EDLLEEVTNLVEYPTVLAGNFEKEYLELPEEVLITTMKEHQRYFPVFSKDEELLPHFVTV
> RNGNHENLDTVARGNEKVLRARLSDADFFYQEDLKITIDEAVAKLQNIVFHEKLGTLTEK
> MKRVQKVALMLADYLDWQEEDKQDIIRLTNIYKFDLVTNIVGEFPELQGLMGEKYALLQG
> EKPAIAIAIREHYLPSSAEGALPQTDLGSIIAIADKLETLVGFFCVNIVPTGSADPFGLR
> RSAFGAMRIIQANGWDIPVLELLSRIVDMERAEGAVELPSDDVKKEVQTFLKNRLRVVLQ
> NHHIRHDIIDAVIGGDPNTIPQLVDRAQILNKHVESDWFRPTVEALTRVMNISKKHEGNV
> EVDPSLFENKYEQALFDEIEKLKYDYANLTIVDRLRAFAALRTTIDDYFDNTLVMSENIE
> LKNNRLALLFELASFIKEFAQMDEINVK
> (log4j.properties)
> 10:14:06,582  INFO Environment:509 - Hibernate 3.2.3
> 10:14:06,589  INFO Environment:542 - hibernate.properties not found
> 10:14:06,596  INFO Environment:676 - Bytecode provider name : cglib
> 10:14:06,600  INFO Environment:593 - using JDK 1.4
> java.sql.Timestamphandling
> 10:14:06,685  INFO Configuration:1426 - configuring from resource:
> /hibernate.cfg.xml
> 10:14:06,686  INFO Configuration:1403 - Configuration resource:
> /hibernate.cfg.xml
> 10:14:06,783  INFO Configuration:553 - Reading mappings from resource :
> Namespace.hbm.xml
> 10:14:06,966  INFO HbmBinder:300 - Mapping class: Namespace -> biodatabase
> [...]
> Exception in thread "main" java.lang.RuntimeException: Error while trying
> to
> save RichSequence with id: CAK20891
>     at org.biojavax.bio.db.biosql.BioSQLRichSequenceDB._addRichSequence(
> BioSQLRichSequenceDB.java:300)
>     at org.biojavax.bio.db.biosql.BioSQLRichSequenceDB.addRichSequence(
> BioSQLRichSequenceDB.java:277)
>     at fr.ustrasbg.ibmc.bbeckert.HibernatLoadingData.loadingData(
> HibernatLoadingData.java:101)
>     at fr.ustrasbg.ibmc.bbeckert.HibernatLoadingData.main(
> HibernatLoadingData.java:140)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:585)
>     at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
> Caused by: java.lang.reflect.InvocationTargetException
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:585)
>     at org.biojavax.bio.db.biosql.BioSQLRichSequenceDB._addRichSequence(
> BioSQLRichSequenceDB.java:297)
>     ... 8 more
> Caused by: org.hibernate.TransientObjectException: object references an
> unsaved transient instance - save the transient instance before flushing:
> Term
>     at org.hibernate.engine.ForeignKeys.getEntityIdentifierIfNotUnsaved(
> ForeignKeys.java:219)
>     at org.hibernate.collection.AbstractPersistentCollection.getOrphans(
> AbstractPersistentCollection.java:889)
>     at org.hibernate.collection.PersistentSet.getOrphans(
> PersistentSet.java
> :90)
>     at org.hibernate.engine.CollectionEntry.getOrphans(
> CollectionEntry.java
> :350)
>     at org.hibernate.engine.Cascade.deleteOrphans(Cascade.java:340)
>     at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java
> :324)
>     at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:242)
>     at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:219)
>     at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
>     at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
>     at org.hibernate.event.def.AbstractSaveEventListener.cascadeAfterSave(
> AbstractSaveEventListener.java:456)
>     at
> org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(
> AbstractSaveEventListener.java:334)
>     at org.hibernate.event.def.AbstractSaveEventListener.performSave(
> AbstractSaveEventListener.java:181)
>     at
> org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId
> (AbstractSaveEventListener.java:107)
>     at
>
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId
> (DefaultSaveOrUpdateEventListener.java:187)
>     at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient
> (
> DefaultSaveOrUpdateEventListener.java:172)
>     at
>
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate
> (DefaultSaveOrUpdateEventListener.java:94)
>     at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(
> DefaultSaveOrUpdateEventListener.java:70)
>     at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java
> :507)
>     at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
>     at org.hibernate.engine.CascadingAction$1.cascade(CascadingAction.java
> :218)
>     at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
>     at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:216)
>     at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
>     at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
>     at org.hibernate.event.def.AbstractSaveEventListener.cascadeBeforeSave
> (
> AbstractSaveEventListener.java:431)
>     at
> org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(
> AbstractSaveEventListener.java:265)
>     at org.hibernate.event.def.AbstractSaveEventListener.performSave(
> AbstractSaveEventListener.java:181)
>     at
> org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId
> (AbstractSaveEventListener.java:107)
>     at
>
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId
> (DefaultSaveOrUpdateEventListener.java:187)
>     at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient
> (
> DefaultSaveOrUpdateEventListener.java:172)
>     at
>
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate
> (DefaultSaveOrUpdateEventListener.java:94)
>     at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(
> DefaultSaveOrUpdateEventListener.java:70)
>     at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java
> :507)
>     at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
>     at org.hibernate.engine.CascadingAction$1.cascade(CascadingAction.java
> :218)
>     at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
>     at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:216)
>     at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
>     at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
>     at org.hibernate.event.def.AbstractSaveEventListener.cascadeBeforeSave
> (
> AbstractSaveEventListener.java:431)
>     at
> org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(
> AbstractSaveEventListener.java:265)
>     at org.hibernate.event.def.AbstractSaveEventListener.performSave(
> AbstractSaveEventListener.java:181)
>     at
> org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId
> (AbstractSaveEventListener.java:107)
>     at
>
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId
> (DefaultSaveOrUpdateEventListener.java:187)
>     at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient
> (
> DefaultSaveOrUpdateEventListener.java:172)
>     at
>
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate
> (DefaultSaveOrUpdateEventListener.java:94)
>     at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(
> DefaultSaveOrUpdateEventListener.java:70)
>     at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java
> :507)
>     at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
>     at org.hibernate.engine.CascadingAction$1.cascade(CascadingAction.java
> :218)
>     at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
>     at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:216)
>     at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
>     at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java
> :296)
>     at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:242)
>     at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:219)
>     at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
>     at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
>     at org.hibernate.event.def.AbstractSaveEventListener.cascadeAfterSave(
> AbstractSaveEventListener.java:456)
>     at
> org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(
> AbstractSaveEventListener.java:334)
>     at org.hibernate.event.def.AbstractSaveEventListener.performSave(
> AbstractSaveEventListener.java:181)
>     at
> org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId
> (AbstractSaveEventListener.java:107)
>     at
>
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId
> (DefaultSaveOrUpdateEventListener.java:187)
>     at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient
> (
> DefaultSaveOrUpdateEventListener.java:172)
>     at
>
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate
> (DefaultSaveOrUpdateEventListener.java:94)
>     at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(
> DefaultSaveOrUpdateEventListener.java:70)
>     at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java
> :507)
>     at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
>     ... 13 more
> --
> Bertrand BECKERT
> PhD student
> IBMC - UPR 9002 du CNRS - ARN
> 15, rue Rene Descartes
> F-67084 STRASBOURG Cedex
>
> b.beckert at ibmc.u-strasbg.fr
> bertrand.beckert at gmail.com
> _______________________________________________
> Biojava-l mailing list  -  Biojava-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/biojava-l
>



-- 
Farewell.
http://www.youtube.com/zagatogekko
ruby << __EOF__
  puts [ 111, 116, 97, 103, 97, 90 ].collect{|v| v.chr}.join.reverse
__EOF__



More information about the Biojava-l mailing list