Ich habe eine zugeordnete Entität, die eine Enum-Eigenschaft hat. Wenn ich eine Log-Datei suche, führe ich jedes Mal, wenn ich eine select-Anweisung für eine solche Entität ausfühle, zu einer unmittelbar folgenden Aktualisierung. Zum Beispiel, wenn mein Ergebnismenge enthält 100 Datensätze, dann habe ich:Die Verwendung von Enum im Ruhezustand führt zur Auswahl, gefolgt von einer Aktualisierungsanweisung.
[INFO org... select...]
[INFO org... update... where id=?]
[INFO org... update... where id=?]
.... 100 mal wiederholt
Wenn ich die Eigenschaft als Update = false das Problem verschwinden markieren. Die Enumeration wird durch eine Enumkonverterklasse zugewiesen, die ich aus einem bekannten Buch kopiert habe. Also ich weiß nicht, ob ich nur den Code kopieren und einfügen. Hier ist, wie in der hbm-Datei deklariert wird.
<typedef class="mypackage.HbnEnumConverter" name="the_type">
<param name="enumClassname">mypackage.TheType</param>
</typedef>
Können Sie eine Richtung darauf hinweisen, dies zu untersuchen? Was sind die Konsequenzen davon, dass update = false im Hibernate-Feld ist?
dank
Soweit ich verstehe, in der "bekannten Buch" Housekeeping-Methoden des Usertype sind verpasst, sind Sie sicher, dass Sie sie richtig implementiert (insbesondere 'equals (Object, Object)')? – axtavt