2010-12-10 206 views
1

我有一个类下面,我从数据库中加载这个对象,但是当我通过JNDI地址调用这个方法时,给出一些有关kullainiciGrups属性的错误,这是java.util.List,if这个属性被删除,它毫无例外地工作。堆栈跟踪位于代码块的下方;无法加载类persistentBag

您对这个persistenceBag异常有什么看法? 谢谢。

package enlil.domain; 

    import java.io.Serializable; 
    import java.math.BigDecimal; 
    import java.util.Date; 
    import java.util.List; 

    import javax.persistence.Column; 
    import javax.persistence.Entity; 
    import javax.persistence.FetchType; 
    import javax.persistence.Id; 
    import javax.persistence.Lob; 
    import javax.persistence.OneToMany; 
    import javax.persistence.Table; 
    import javax.persistence.Temporal; 
    import javax.persistence.TemporalType; 


    /** 
    * The persistent class for the PACS00_001 database table. 
    * 
    */ 
    @Entity 
    @Table(name="PACS00_001") 
    public class Kullanici implements Serializable { 
    private static final long serialVersionUID = 1L; 

    @Column(name="A_ACIKLAMAYETKI") 
    private BigDecimal aAciklamayetki; 

    @Column(name="A_ADI") 
    private String aAdi; 

    @Lob() 
    @Column(name="A_AYARLAR") 
    private String aAyarlar; 

    @Column(name="A_HBYSDOKKOD") 
    private String aHbysdokkod; 
@Column(name="A_HBYSUSERKOD") 
private String aHbysuserkod; 

@Column(name="A_IPUCU") 
private String aIpucu; 

@Id 
@Column(name="A_KODU") 
private String aKodu; 

@Column(name="A_MENUTARAMARAPORLARIYETKI") 
private BigDecimal aMenutaramaraporlariyetki; 

@Column(name="A_PAROLA") 
private String aParola; 

@Column(name="A_SOYADI") 
private String aSoyadi; 

@Column(name="A_YETKITUR") 
private BigDecimal aYetkitur; 

@Temporal(TemporalType.DATE) 
@Column(name="T_ISLEMTAR") 
private Date tIslemtar; 

@Column(name="T_USERID") 
private String tUserid; 

//bi-directional many-to-one association to KullaniciGrup 
@OneToMany(mappedBy="kullaniciGruplari", fetch = FetchType.LAZY) 
private List<KullaniciGrup> kullaniciGrups; 

public Kullanici() { 
} 

public BigDecimal getAAciklamayetki() { 
    return this.aAciklamayetki; 
} 

public void setAAciklamayetki(BigDecimal aAciklamayetki) { 
    this.aAciklamayetki = aAciklamayetki; 
} 

public String getAAdi() { 
    return this.aAdi; 
} 

public void setAAdi(String aAdi) { 
    this.aAdi = aAdi; 
} 

public String getAAyarlar() { 
    return this.aAyarlar; 
} 

public void setAAyarlar(String aAyarlar) { 
    this.aAyarlar = aAyarlar; 
} 

public String getAHbysdokkod() { 
    return this.aHbysdokkod; 
} 

public void setAHbysdokkod(String aHbysdokkod) { 
    this.aHbysdokkod = aHbysdokkod; 
} 

public String getAHbysuserkod() { 
    return this.aHbysuserkod; 
} 

public void setAHbysuserkod(String aHbysuserkod) { 
    this.aHbysuserkod = aHbysuserkod; 
} 

public String getAIpucu() { 
    return this.aIpucu; 
} 

public void setAIpucu(String aIpucu) { 
    this.aIpucu = aIpucu; 
} 

public String getAKodu() { 
    return this.aKodu; 
} 

public void setAKodu(String aKodu) { 
    this.aKodu = aKodu; 
} 

public BigDecimal getAMenutaramaraporlariyetki() { 
    return this.aMenutaramaraporlariyetki; 
} 

public void setAMenutaramaraporlariyetki(BigDecimal aMenutaramaraporlariyetki) { 
    this.aMenutaramaraporlariyetki = aMenutaramaraporlariyetki; 
} 

public String getAParola() { 
    return this.aParola; 
} 

public void setAParola(String aParola) { 
    this.aParola = aParola; 
} 

public String getASoyadi() { 
    return this.aSoyadi; 
} 

public void setASoyadi(String aSoyadi) { 
    this.aSoyadi = aSoyadi; 
} 

public BigDecimal getAYetkitur() { 
    return this.aYetkitur; 
} 

public void setAYetkitur(BigDecimal aYetkitur) { 
    this.aYetkitur = aYetkitur; 
} 

public Date getTIslemtar() { 
    return this.tIslemtar; 
} 

public void setTIslemtar(Date tIslemtar) { 
    this.tIslemtar = tIslemtar; 
} 

public String getTUserid() { 
    return this.tUserid; 
} 

public void setTUserid(String tUserid) { 
    this.tUserid = tUserid; 
} 

/** 
    * @param kullaniciGrups the kullaniciGrups to set 
    */ 
public void setKullaniciGrups(List<KullaniciGrup> kullaniciGrups) { 
    this.kullaniciGrups = kullaniciGrups; 
} 

    /** 
     * @return the kullaniciGrups 
     */ 
    public List<KullaniciGrup> getKullaniciGrups() { 
     return kullaniciGrups; 
    } 

    } 

Stack Trace;

2010-12-10T10:46:42.181+0200|WARNING|sun-appserver2.1|javax.enterprise.resource.corba.ee.S1AS-ORB.rpc.encoding|_ThreadID=18;_ThreadName=httpSSLWorkerThread-8080-1;org.hibernate.collection.PersistentBag;<<Context:ReaderWriter[value(enlil.domain.Kullanici)]:enlil.domain.Kullanici.kullaniciGrups>>;_RequestID=1c9792ff-406f-44d0-8315-0d9260807842;|"IOP00810257: (MARSHAL) Could not load class org.hibernate.collection.PersistentBag<<Context:ReaderWriter[value(enlil.domain.Kullanici)]:enlil.domain.Kullanici.kullaniciGrups>>" 
    org.omg.CORBA.MARSHAL: vmcid: SUN minor code: 257 completed: Maybe 
    at com.sun.corba.ee.impl.logging.ORBUtilSystemException.couldNotFindClass(ORBUtilSystemException.java:9772) 
    at com.sun.corba.ee.impl.logging.ORBUtilSystemException.couldNotFindClass(ORBUtilSystemException.java:9787) 
    at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1042) 
    at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:475) 
    at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2009) 
    at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2240) 
    at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1224) 
    at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:427) 
    at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364) 
    at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:330) 
    at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:966) 
    at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1052) 
    at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:475) 
    at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl$14.read(DynamicMethodMarshallerImpl.java:382) 
    at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl.readResult(DynamicMethodMarshallerImpl.java:483) 
    at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:195) 
    at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152) 
    at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:225) 
    at enlil.pacs.kullanici.__IKullaniciFayda_Remote_DynamicStub.oturumAcanKullaniciyiGetir(enlil/pacs/kullanici/__IKullaniciFayda_Remote_DynamicStub.java) 
    at enlil.pacs.kullanici._IKullaniciFayda_Wrapper.oturumAcanKullaniciyiGetir(enlil/pacs/kullanici/_IKullaniciFayda_Wrapper.java) 
    at enlil.pacs.server.modul.KullaniciYonetimiServlet.kullaniciYetkileriniGetir(KullaniciYonetimiServlet.java:70) 
    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:597) 
    at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562) 
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:207) 
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:243) 
    at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) 
    at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:333) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) 
    at enlil.pacs.server.guvenlik.SistemeGirisFiltresi.doFilter(SistemeGirisFiltresi.java:76) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:313) 
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) 
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) 
    at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) 
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587) 
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) 
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587) 
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093) 
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291) 
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666) 
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597) 
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872) 
    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341) 
    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263) 
    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214) 
    at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264) 
    at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106) 
    |#] 

回答

4

您正在发送一个hibernate实体/集合。有几个问题:

  • 收集可能不会被加载
  • 端点可能没有在其类路径休眠。

因此,在发送它之前,您应该初始化集合并取消其代理(即获取原始集合)。这可能仍然不起作用,因为hibernate设置了自己的集合,实现了java.util.List。所以,从那里,你有两个选择:

  • 创建new ArrayList(originalCollection) - 这将在ArrayList
  • 添加元素复制冬眠在端点上的类路径。
+0

如果没有List属性,Hibernate会在类路径上使用。我想要返回Kullanici Class,所以如何创建一个新的ArrayList,我尝试在get方法上创建,但又失败了。 – 2010-12-10 09:22:39

+0

使用DTO-Pattern将所有需要的信息复制到另一个类中。或者将您的映射更改为急切加载,**可能会有所帮助。 – 2010-12-10 09:57:36

+0

@ckuetbach我已经将对象转换为DTO,但在转换之前抛出了此异常。 – 2010-12-10 10:38:52

相关问题