Hi,

We're getting an exception in some of our own code compiled against
base-2.16.2pre

     [java] Exception in thread "main" org.hibernate.SessionException:
proxies cannot be fetched by a stateless session
     [java]     at
org.hibernate.impl.StatelessSessionImpl.immediateLoad(StatelessSessionImpl.java:244)
     [java]     at
org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:176)
     [java]     at
org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:215)
     [java]     at
org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:191)
     [java]     at
net.sf.basedb.core.data.ReporterData_$$_javassist_37.hashCode(ReporterData_$$_javassist_37.java)
     [java]     at java.util.HashMap.put(HashMap.java:372)
     [java]     at java.util.HashSet.add(HashSet.java:200)
     [java]     at
org.vectorbase.funcgen.gesol.DB.base2.Base2ReporterAdaptor.fetchByMicroarray(Base2ReporterAdaptor.java:122)
     [java]     at
org.vectorbase.funcgen.lucene.IndexReporter.indexAll(IndexReporter.java:75)
     [java]     at
org.vectorbase.funcgen.lucene.IndexReporter.main(IndexReporter.java:50)

It used to work on 2.12.x but I'm having trouble reproducing that now
because I don't have a database with the correct schema easily to hand
(we could dig up an old backup...).

After some detective work, I believe it's something to do with
http://dev.thep.lu.se/base/ticket/1350
and
http://dev.thep.lu.se/base/changeset/5026/trunk/src/core/net/sf/basedb/core/data/ReporterData.java

Should we change our code?
("Microarray" is one of our object classes)

        public List fetchByMicroarray(Microarray array) {
                ArrayList result = new ArrayList();
                ArrayDesign baseArray =
net.sf.basedb.core.ArrayDesign.getById(getDbControl(),
array.getDBID());
                DbControl dc = getDbControl();

                if (baseArray.isPlatform(Platform.AFFYMETRIX)) {
// snipped,
// not relevant here
                } else {
                        DataQuery<FeatureData> featQuery = 
baseArray.getFeatures();
                        featQuery.include(Include.SHARED);
                        DataResultIterator<FeatureData> featIt = 
featQuery.iterate(dc);

                        Set resultSet = new HashSet();
                        while (featIt.hasNext()) {
                                FeatureData featData = 
(FeatureData)featIt.next();
                                resultSet.add(featData.getReporter());
                          }
                        Iterator setIt = resultSet.iterator();
                        while(setIt.hasNext()) {
                                org.vectorbase.funcgen.gesol.Reporter reporter =
makeFromBaseRep((ReporterData)setIt.next());
                                result.add(reporter);
                        }
                  }
                return result;
                }

Any help would be greatly appreciated - as we are not hibernate specialists.
many thanks,
Bob.

------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires 
February 28th, so secure your free ArcSight Logger TODAY! 
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
basedb-devel mailing list
basedb-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/basedb-devel

Reply via email to