Wie zu imitieren upsert Verhalten mit Hibernate?

Ich Schreibe eine Anwendung, die sync-Entitäten, die von einer Dritten Partei datasource in unser eigenes schema, mit dem eine transformation/mapping-Schritt in zwischen. Ich bin mit Hibernate zu vertreten und beibehalten der Personen in unser eigenes schema. Ein problem, das ich gelaufen bin, ist, dass ich eine einzigartige multi-column key auf einem meiner Tische. Das Verhalten würde ich gerne sehen, ist Analog zu einer upsert: wenn Hibernate geht zu persistieren einer Entität und erkennt eine Verletzung der unique-Einschränkung, es hat ein update statt. Wir verwenden MySQL, die eine INSERT ... ON DUPLICATE KEY UPDATE syntax, aber ich bin mir nicht sicher, wie oder ob Hibernate gemacht werden kann, es zu nutzen?

Ich glaube, ich könnte versuchen Sie immer, den Sie einfügen, und wenn ich zu fangen eine Ausnahme machen Sie ein update, aber das scheint hacky und suboptimal. Irgendwelche Tipps, auf eine saubere Art und Weise, dies zu tun?

InformationsquelleAutor Jason | 2010-09-08
Schreibe einen Kommentar