Einzelnen Beitrag anzeigen

barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Java, Hibernate: Persistieren eines Objektes in Oracle-D

  Alt 21. Jul 2006, 14:44
Hi-ho,

Zitat von Der_Unwissende:
Hi,
ich kann dir zwar nicht direkt einen Tipp geben, aber bist du mal im Einzelschrittmodus durchgelaufen? Ich hab ein wenig die Vermutung, dass dein Commit (aus welchem Grund auch immer) nicht stattfindet. Also wenn du mit dem Debugger rüber läufst, solltest du dir mal anschauen ob der irgendeine Stelle überspringt.
Die andere Sache ist noch, dass du nicht alle möglichen Exceptions abfängst. Da du kein throws eingetragen hast, geh ich mal davon aus, dass Hibernate an dieser Stelle keine Exceptions auslösen wird, aber ich persönlich würde einfach mal alle Exceptions abfangen (und mindestens loggen). Aber wie gesagt, sollte hier ja eigentlich nicht passieren können.
Ich benutze Eclipse. Ich bin das bereits diverse male im Einzelschrittmodus durchgegangen. Jede Zeile wird wie erwartet ausgeführt. Die Exceptions habe ich mal auf alle HibernateExceptions erweitert:
Delphi-Quellcode:
public void persist(Rqs transientInstance) {
      log.debug("persisting Rqs instance");
      /**
       * ToDo
       */
      log.setLevel(Level.DEBUG);
      Transaction tx = null;
      try {
         tx = getCurrentSession().beginTransaction();
         getCurrentSession().save(transientInstance);//persist(transientInstance);
         tx.commit();
         log.debug("persist successful");
      }
 catch (HibernateException he) {
         log.error("persist failed", he);
         if(tx != null)
            tx.rollback();
         throw he;
      }

      finally{
         getCurrentSession().close();
      }

   }
Zitat:
[Edit]
Ahso, du schreibst ja, dass du gerne einen Denkanstoss zum Finden des Fehlers hättest, ganz überlesen. Ja, versuch es einfach mal mit einem Breakpoint. Also ich weiß nicht welche IDE du benutzt, aber es sollte von so ziemlich jeder unterstützt werden. Bei Eclipse findest du auch gleich eine sehr praktische Debug Ansicht. Hier kannst du dann auch den Wert von Variablen betrachten (was dir dann auch versteckte Nulls o.Ä. zeigt).
[/Edit]
Ja, das ist eine feine Sache. Leider hat mich das noch nicht weitergebracht

Danke für eure bisherigen Anregungen. Hatte mich schon gefreut, dass etwas helfen könnte. Leider noch nicht!
Andere Ideen?
Gruß,

Barnti
  Mit Zitat antworten Zitat