Frage

Ich bin mit JPA 2 für eine Enterprise-Anwendung, und mein DBA hat mich nur mit einem Twist.

Sie wollen mich Mit Hilfe der zentralen Objekt-ID-Generator-Gruppe für alle meine Tabellen . Diese Mittel anstatt Tabellenwerte verwenden oder eine Sequenztabelle, Ich brauche einen Web-Service rufen eine Charge von ~ 50 ids zu erhalten.

Dann , wie ich jedes neue Objekt bestehen bleiben, würde ich brauche diese ID zu injizieren erste , und speichern Sie diese auf den Tisch.

Wie würde ich die @Id Säule eines Unternehmens manipulieren, dies zu umgehen.

Ist es so einfach, wie ein Schlüssel einstellen, bevor ich anhalten? Ich vermute, dass irgendeine Art von nicht verwalteten Einheit mit ID-Set Fehler auslösen würde.

War es hilfreich?

Lösung

Update:

Die bessere Methode ist, um tatsächlich eine Sequenzstrategie erzeugten Felder angeben und eine benutzerdefinierte Sequenzklasse angeben.

JPA wird dann dieses nextId () -Methode der Klasse aufrufen jedes Mal, wenn ein neues Objekt eingefügt wird.

Diese Methode ermöglicht eine vollständige grafische Darstellungen auf jede Entität ohne dazwischen manuell beibehalten werden.


es herausgefunden. Erstaunlich komplex;.) - entfernen Sie einfach die GeneratedValue Anmerkung aus dem Schlüsselfeld

Es ist beabsichtigt, für Native Ids wie SSN oder E-Mail, sondern arbeitet unabhängig von der Quelle.

@Entity
public class Client{

    @Id
    @Column(name="CLNT_ID") 
    private long key;
    @Column(name="CLNT_NUM")
    private String clientNumber;
...
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top