Quote:
Dein Problem wird der First-Lvl-Cache sein. Startest Du eine Db-Abfrage mehrmals, so wird beim ersten Zugriff auf die DB zugegriffen. Ab der zweiten Abfrage dagegen kommen die Daten direkt aus dem Cache.
ich habe vergessen zu erwähnen, dass sich die Abfrage ändert.. es wird als Parameter immer das aktuelle Datum benutzt..
ich habe außerdem mit wireshark mal das Netzwerk belauscht und festgestellt, dass Hibernate sehr wohl die Datenbank abfragt, aber das Ergebniss, was mysql dabei dann zurückliefert immer das selbe ist (trotz anderem Parameter). Wenn ich dann beim Connection Pooling die Anzahl der Verbindungen auf 0 setze (ich gehe davon aus, dass dann das Pooling deaktiviert wird), dann verhält es sich wie gewünscht.
mit nem mssql server hatte ich bisher nicht mal ansatzweise solche interessanten Probleme (ohne damit jetzt sagen zu wollen, dass der server gut ist (geht so)). daher bin ich davon ausgegangen, dass ich hibernate und wie es mit datenbanken arbeitet im Prinzip verstanden habe. Das hier irritiert mich dann aber doch irgendwie.
Möglicherweise hält Hibernate noch irgendwie eine Transaktion offen, so das mysql korrekterweise ein altes Ergebnis zurückliefert.. wobei mich das dann aber irritiert, da ich keine Transaktionen benutzt habe.