-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 
Author Message
 Post subject: Anfrage hält einfach an
PostPosted: Tue Feb 23, 2010 11:44 am 
Newbie

Joined: Tue Feb 23, 2010 11:34 am
Posts: 2
Hi,

verzeiht den etwas seltsamen Titel aber ich weiß nicht, wie ich das Problem näher beschreiben soll. Folgendes geschieht bei mir:

Ich setze nacheinander mehrere Abfragen an Hibernate ab. Jeweils mit ausreichend Zeit dazwischen, d.h. ich kann irgendwelche Threading-Problematiken ausschließen. Nach einigen Anfragen stoppt die Ausführung meines Programms einfach. Ich bekomme keine Logmeldungen o.ä. mehr mit, es steht schlicht und ergreifend.

Mein Code ist in etwa folgender (etwas vereinfacht):

Code:
final Criteria c = getSession().createCriteria(User.class);
c.add(Restrictions.eq("name", name));
final User user = (User) c.uniqueResult();


Bei c.uniqueResult bleibt das Programm einfach stehen... habt ihr irgendwelche Ideen, was da passiert? Zum Einsatz kommt MySQL und ich kann das Problem auf unterschiedlichen Rechnern reproduzieren.


Top
 Profile  
 
 Post subject: Re: Anfrage hält einfach an
PostPosted: Wed Feb 24, 2010 5:28 am 
Senior
Senior

Joined: Tue Oct 28, 2008 10:39 am
Posts: 196
Und was macht die Datenbank währenddessen?


Top
 Profile  
 
 Post subject: Re: Anfrage hält einfach an
PostPosted: Wed Feb 24, 2010 7:24 am 
Newbie

Joined: Tue Feb 16, 2010 7:14 pm
Posts: 4
osmark wrote:
Bei c.uniqueResult bleibt das Programm einfach stehen


Das hat meistens einen von zwei Gründen:
-> c.uniqueResult gibt null zurück und es passiert ein castfehler.
-> es gibt mehr als ein result und die methode wirft eine exception.

Teste doch mal ab, ob eins von beiden zutrifft.


Top
 Profile  
 
 Post subject: Re: Anfrage hält einfach an
PostPosted: Wed Feb 24, 2010 8:10 am 
Newbie

Joined: Tue Feb 23, 2010 11:34 am
Posts: 2
Quote:
Und was macht die Datenbank währenddessen?


Tja, gute Frage. Ich hab leider nicht herausfinden können, wie ich MySQL (unter Windows) dazu bewege, ausführliche Logs zu schreiben. Ich kann lediglich in nem DB-Tool sehen, dass die Verbindung wohl direkt nach dem beschriebenen Verhalten wieder geschlossen wird. Daraus schließe ich (wenn ich auch nicht viel Ahnung von DBs habe), dass von Datenbankseite alles gut geht und das Programm irgendwo im Hibernate-Code hängenbleibt. Das werde ich mal versuchen zu debuggen.

Ich wär aber trotzdem für Hinweise dankbar, wie ich detaillierte Infos über den Zustand meines DBMS herausfinde.

Quote:
Das hat meistens einen von zwei Gründen:
-> c.uniqueResult gibt null zurück und es passiert ein castfehler.
-> es gibt mehr als ein result und die methode wirft eine exception.


Wie ursprünglich geschrieben, der Code oben ist vereinfacht. Ich prüfe im echten Code auf null und ich verwende ausschließlich Uncaught-Exceptions, die ich in einem zentralen Exception-Handler fange. Da steht aber nichts drin.

Außerdem würde eine Exception jeglicher Art dazu führen, dass das Programm abbricht. Ich habe aber das Verhalten, dass die Anwendung einfach steht. Sie läuft noch, tut aber nichts mehr.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.