| 

.NET C# Java Javascript Exception

Hibernate und diese blöde Session

Dies ist das Archiv des ehemaligen Forums zum Thema Groovy, Grails, Griffon und Bean Scripting Framework, welches unter groovy-forum.de existierte. Die neue Adresse des Groovy-Forums ist: http://codekicker.de/fragen/themen/groovy.


Hibernate und diese blöde Session

Gidion - 10.04.2009 22:25
Hi,

ich habe mal wieder ein Problem mit Hibernate.
und zwar habe ich folgende Objekte.


Domain Klasse:

class Test {
  static hasMany = [betaTests: BetaTest]
  String Text
}

Groovy Src Klasse
enum BetaTest {
  X, Y, Z
}


vorerst funktioniert das ohne Probleme.

jetzt habe ich aber das searchplugin installiert da ich diese Objekte suchen will.

dahe wurde die Domianklasse: test erweitert um:

	static searchable = {
		only: ['text']
	}

und schon gibt es Probleme mit Hibernate.

Grund wenn ich einen neuen Test anlegen will, liefert mir die save() Methode einen Fehler zurück das bereits ein Objekt mit dieser ID in der HibernateSession registriert ist.

so wie es aussieht ist dafür also das searchable plugin verantwortlich.
wenn man dort die mirror Funktion ausstellt, geht es wieder.

auch geht es ohne Probleme im Bootstrap,
jedoch scheint im Bootstrap die Hibernatesession anders verwaltet zu werden als im Controller

rufe ich die die index() methode nach save() auf dann geht es.

jetzt ist nur die Frage wieso geht es nicht einfach auch bei save() ????
selbst im event: afterInsert gibt es diese Exeption wenn der Aufruf vom Controller erfolgte.
witzig ist auch, das wenn ich in diesem Event ein flush ausführen will , es eine Meldung gibt das meine id null ist,
jedoch ist dies vor dem flush nicht der Fall.

Schuld an dem ganzen ist dieses blöde Hibernate, es speichert leider nicht die Daten in der DB wenn man save() aufruft.
Aber das ist es was ich will, zudem ist dieses Handling mit den IDs in der Session äußerst schlecht

denn was passiert, wenn ein anderer Prozess von außen ein Objekt in die DB einfügt ?. oder schlimmer noch mehrere,
dann gibt es quasi keine chance mehr über meine Anwendung Sachen in der DB zu speichern, weil Hibernate die Ids nicht kennt.

kennt von euch vielleicht einer eine Lösung ? im Netz habe ich bisher nichts gefunden
und hibernate.fluch.mode="manual" bringt rein garnichts.

Danke.

vg Gidion


Stelle deine Groovy-Frage jetzt!


Diese Seite zeigt den Thread "Hibernate und diese blöde Session" der ehemaligen Webseite groovy-forum.de, welche durch einen Serverunfall zerstört wurde. codekicker.de hat viele Konversationen über die beliebte Programmiersprache Groovy und zugehörige Frameworks wie das Grails-Framework retten können.

Hast Du eine Frage zum Thema Groovy, Grails oder allgemein Java? Viele ehemalige groovy-forum.de Mitglieder beantworten dir auf codekicker.de deine Frage! Stelle jetzt eine Frage!

Viele weitere Diskussionen zu Grails und Groovy befinden sich auf der Threadübersicht des alten groovy-forum.de.