users@glassfish.java.net

ClassNotFoundException driving me crazy!! Help!

From: gjrwebber <gjrwebber_at_gmail.com>
Date: Tue, 4 Aug 2009 20:02:20 -0700 (PDT)

Stats:

Glassfish 2.1

Persistence using:
Hibernate 3.2.6
Annotations 3.4
SQL Server 2005


Essentially I am trying to Serialize a whole HashSet to a column in the
database.

@Entity
public class A {
    @Column(name="Foos")
    @Basic
    private HashSet<Foo> fooList = new HashSet<Foo>();

    ...
}

where class Foo is nothing special, just implements Serializable.

This all works ok to persist, however when I try to load it I receive a
ClassNotFoundException on Foo. It appears to be an issue with Glassfish
classloader, though I can't be sure. How can I create a HashSet of class Foo
and persist it using Hibernate, then go to retrieve it and receive a
ClassNotFoundException!? I have spent 2 days on this now with no idea what
to do. Any help will be appreciated.

Here is the cut down exception stack trace:

...

Caused by: org.hibernate.type.SerializationException: could not deserialize
at
org.hibernate.util.SerializationHelper.deserialize(SerializationHelper.java:214)
at
org.hibernate.util.SerializationHelper.deserialize(SerializationHelper.java:240)
at org.hibernate.type.SerializableType.fromBytes(SerializableType.java:82)
at org.hibernate.type.SerializableType.get(SerializableType.java:39)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:163)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:154)
at org.hibernate.type.AbstractType.hydrate(AbstractType.java:81)
at
org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2101)
at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1380)
at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1308)
at org.hibernate.loader.Loader.getRow(Loader.java:1206)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:580)
at org.hibernate.loader.Loader.doQuery(Loader.java:701)
at
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2213)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
at
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
at
org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:66)
... 25 more
Caused by: java.lang.ClassNotFoundException: Foo
at
com.sun.appserv.server.util.ASURLClassLoader.loadClass(ASURLClassLoader.java:129)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:604)
at
org.hibernate.util.SerializationHelper$CustomObjectInputStream.resolveClass(SerializationHelper.java:268)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at java.util.HashSet.readObject(HashSet.java:291)
at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at
org.hibernate.util.SerializationHelper.deserialize(SerializationHelper.java:210)
... 47 more
-- 
View this message in context: http://www.nabble.com/ClassNotFoundException-driving-me-crazy%21%21-Help%21-tp24820005p24820005.html
Sent from the java.net - glassfish users mailing list archive at Nabble.com.