java - 无法加载类 persistentBag

标签 java hibernate jndi persistent

我下面有一个类,我从数据库加载这个对象,但是当我通过 JNDI 地址调用这个方法时,给出一些关于 kullainiciGrups 属性的错误,它是一个 java.util.List,如果此属性已删除,它无一异常(exception)地工作。堆栈跟踪在代码块下方;

您如何看待这个 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;
     }

    }

堆栈跟踪;

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)
    |#]

最佳答案

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

  • 可能无法加载集合
  • 端点可能没有在其类路径上 hibernate 。

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

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

关于java - 无法加载类 persistentBag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4407148/

相关文章:

java - 为什么在大约 10 个内核后添加内核会使我的 Java 程序变慢?

java - 高效更新 RecyclerView 网格或以其他方式显示复杂网格

java - 将 JPA 或 Hibernate 投影查询映射到 DTO(数据传输对象)

jndi - 从 JDK 11 客户端到 Weblogic 10.3.6 (JDK 7) 服务器的简单 JNDI 查找不起作用

tomcat - 使用身份验证 ="DIGEST-MD5"为 LDAP 身份验证配置 Tomcat 6.0

java - Grails 框架方法 addTo 在多次调用时抛出异常

java - Spring是否可以为ehcache添加新的值(value)?

spring - 延迟加载有效,但不应该

java - java中没有@Id注释的序列生成器与Postgres中的hibernate在一定范围内

java - 使用 Log4J 2 进行 JNDI 变量查找时如何设置默认值?