persistence@glassfish.java.net

RE: How to prevent stack overflow

From: Gordon Yorke <gordon.yorke_at_oracle.com>
Date: Tue, 29 Aug 2006 14:50:32 -0400

Hello Dirk,
   This error has already been detected and logged as issue 939.
In your object model you are attempting to persist (through a relationship) a subclass of an Entity that is itself not an Entity. This is undefined by the specification and should be avoided.
--Gordon
  -----Original Message-----
  From: Dirk Bangel [mailto:dirk.bangel_at_gmx.de]
  Sent: Tuesday, August 29, 2006 12:51 PM
  To: persistence_at_glassfish.dev.java.net
  Subject: RE: How to prevent stack overflow


  Further more information:

   

  [TopLink Fine]: 2006.08.29 09:48:36.156--ClientSession(6626965)--Connection(13756354)--Thread(Thread[main,5,main])--UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?

        bind => [50, SEQ_GEN]

  [TopLink Fine]: 2006.08.29 09:48:36.171--ClientSession(6626965)--Connection(13756354)--Thread(Thread[main,5,main])--SELECT SEQ_COUNT FROM SEQUENCE WHERE SEQ_NAME = ?

        bind => [SEQ_GEN]

  Inserting Customer and Orders... OK

  [TopLink Fine]: 2006.08.29 09:48:36.187--ClientSession(6626965)--Connection(12524859)--Thread(Thread[main,5,main])--INSERT INTO TEXTENSIBLEELEMENTS (ID, operation, variable, partnerlink, suppressJoinFailure, faultName, name, porttype, messageExchange, TARGETS_ID, SOURCES_ID, CORRELATIONS_ID, TOPARTS_ID, DTYPE) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)

        bind => [1057, null, null, null, null, null, Reply, null, null, null, null, null, null, TReply]

  [TopLink Fine]: 2006.08.29 09:48:36.203--ClientSession(6626965)--Connection(12524859)--Thread(Thread[main,5,main])--INSERT INTO TEXTENSIBLEELEMENTS (ID, name, suppressJoinFailure, validate, TARGETS_ID, SOURCES_ID, DTYPE) VALUES (?, ?, ?, ?, ?, ?, ?)

        bind => [1054, Assign, null, 0, null, null, TAssign]

  Exception in thread "main" java.lang.StackOverflowError

        at oracle.toplink.essentials.sessions.Project.getDescriptors(Project.java:376)

        at oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl.getDescriptors(DatabaseSessionImpl.java:319)

        at oracle.toplink.essentials.threetier.ClientSession.getDescriptors(ClientSession.java:245)

   

  In my opinion there is no recursion raising my problem!

   


------------------------------------------------------------------------------

  From: Dirk Bangel [mailto:dirk.bangel_at_gmx.de]
  Sent: Dienstag, 29. August 2006 09:44
  To: persistence_at_glassfish.dev.java.net
  Subject: RE: How to prevent stack overflow

   

  Stacktrace:

   

   

  Exception in thread "main" java.lang.StackOverflowError

        at oracle.toplink.essentials.sessions.Project.getDescriptors(Project.java:376)

        at oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl.getDescriptors(DatabaseSessionImpl.java:319)

        at oracle.toplink.essentials.threetier.ClientSession.getDescriptors(ClientSession.java:245)

        at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.getDescriptors(UnitOfWorkImpl.java:1716)

        at oracle.toplink.essentials.internal.sessions.AbstractSession.getDescriptor(AbstractSession.java:1242)

        at oracle.toplink.essentials.internal.sessions.AbstractSession.getDescriptor(AbstractSession.java:1286)

        at oracle.toplink.essentials.internal.descriptors.ObjectBuilder.wrapObject(ObjectBuilder.java:2285)

        at oracle.toplink.essentials.internal.descriptors.ObjectBuilder.wrapObject(ObjectBuilder.java:2285)

        at oracle.toplink.essentials.internal.descriptors.ObjectBuilder.wrapObject(ObjectBuilder.java:2285)

   

  <<and so on>>

   


------------------------------------------------------------------------------

  From: Dirk Bangel [mailto:dirk.bangel_at_gmx.de]
  Sent: Dienstag, 29. August 2006 09:39
  To: persistence_at_glassfish.dev.java.net
  Subject: How to prevent stack overflow

   

  Again me,

   

  After solving my initial problem I am getting "Stack Overflow" exception. Is there a "Best Practice" to be able

  to persist a huge bunch of java instances?

   

  -

   

  DIrk