how to LAZY fetch ManyToOne relationship?

Hi,

I am working on Sun App Server.

I have two entities with relationship e.g. City ManyToOne Region (unidirectional)

I want to set fetching to LAZY.

@ManyToOne(fetchType=LAZY)

public Region getRegion{

return region;

}

after adding some data to my tables, I want to view all Cities, I do it by calling stateless session bean metod viewCities()

public viewCities(){

Query q = em.createQuery("select c from Cities c");

return (List<Cities>)q.getResultList();

}

after calling this metod I have error

2006-09-12 17:31:33 com.sun.corba.ee.impl.encoding.CDRInputStream_1_0 read_value

WARNING: "IOP00810257: (MARSHAL) Could not find class"

org.omg.CORBA.MARSHAL:vmcid: SUN minor code: 257 completed: Maybe

at com.sun.corba.ee.impl.logging.ORBUtilSystemException.couldNotFindClass(ORBUtilSystemException.java:8309)

at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:984)

at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:259)

at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1987)

at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2211)

at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1219)

at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:398)

at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:329)

at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:295)

at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1005)

at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:850)

at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:844)

at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:834)

at com.sun.corba.ee.impl.encoding.CDRInputStream.read_abstract_interface(CDRInputStream.java:275)

at com.sun.corba.ee.impl.io.IIOPInputStream.readObjectDelegate(IIOPInputStream.java:361)

at com.sun.corba.ee.impl.io.IIOPInputStream.readObjectOverride(IIOPInputStream.java:524)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:343)

at java.util.ArrayList.readObject(ArrayList.java:591)

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.sun.corba.ee.impl.io.IIOPInputStream.invokeObjectReader(IIOPInputStream.java:1692)

at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1210)

at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:398)

at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:329)

at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:295)

at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1005)

at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:259)

at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl$14.read(DynamicMethodMarshallerImpl.java:333)

at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl.readResult(DynamicMethodMarshallerImpl.java:424)

at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:162)

at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:119)

at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:197)

at cachTest.__testRemote_Remote_DynamicStub.viewCities(__testRemote_Remote_DynamicStub.java)

at cachTest._testRemote_Wrapper.viewCities(cachTest._testRemote_Wrapper.java)

at cachetesthib.Main.wyswietlDane(Main.java:42)

at cachetesthib.Main.main(Main.java:38)

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.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:232)

at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:329)

at com.sun.enterprise.appclient.Main.main(Main.java:180)

Caused by: java.lang.ClassNotFoundException

I found it to be a bug:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6419964

is there any solution to this?

Greetings

[5365 byte] By [taras_staza] at [2007-10-3 4:47:49]
# 1
IIRC, this is related to having different JVMs (by version) for the server and client. Verify that your client program and server are using the same JVM.
JayHa at 2007-7-14 22:52:12 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 2
I run my application from NetBeans, where in Tools->JavaPlatformManager I have the path to my J2SE and on server side I have in install-dir\config\asenv.bat AS_JAVA parameter set to the same path.Well it seems it is not that.When I use EAGER fetching it works fine, why ?
taras_staza at 2007-7-14 22:52:12 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 3
well I think this is a bug very close to:https://glassfish.dev.java.net/issues/show_bug.cgi?id=1081and the soultion is not use LAZY but EAGER fetching.Some discution also
taras_staza at 2007-7-14 22:52:12 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...