Posts mit dem Label Hibernate werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Hibernate werden angezeigt. Alle Posts anzeigen

Donnerstag, 3. Mai 2012

Java: Entfernen bestehender Hibernate-IDs vor dem erneuten Speichern

In meinem derzeitigen Projekt existiert die Anforderung, ein Angebot zu clonen und die erzeugte Kopie in der Datenbank abzuspeichern. Da wir Hibernate benutzen, um die PKs zu erzeugen und verwalten, führt das komplette Clonen natürlich zu einer Exception beim Speichern, da die IDs bereits vergeben sind. Anstatt nun manuell durch alle Domänen-Klassen zu iterieren und die ID zu entfernen, habe ich mir eine kleine Methode geschrieben, die mit Hilfe von Reflection und Rekursion die Arbeit für mich erledigt. Die Voraussetzungen für das Funktionieren dieser Methode sind folgendermaßen:

Donnerstag, 15. März 2012

Java Enumerations mit Hibernate

In meinem derzeitigen Kundenprojekt finden Enumerations im Domänen-Modell Verwendung. Die im Modell festgehaltenen Werte sollen auch in der Datenbank abgespeichert werden. Bei einfachen Enumerations stellt das auch kein Problem dar:

public enum TitleEnum {
    HERR, FRAU;
}

import javax.persistence.EnumType;
import javax.persistence.Enumerated;

public class Person {
    
    @Enumerated(EnumType.ORDINAL)
    TitleEnum title;
    
    @Enumerated(EnumType.STRING)
    TitleEnum title2;
}