Hibernate: Wie kann der Name der benutzerdefinierten Sequenzgeneratorklasse mithilfe von Anmerkungen angegeben werden?

8

Ich möchte folgende HBM-Konfiguration mit Anmerkungen angeben:

%Vor%

Ich bin mir nicht sicher, wie ich den Klassennamen mit

angeben soll %Vor%

Muss ich @javax.persistence.SequenceGenerator in jeder Entitätsklasse angeben?
Kann ich nur den Klassennamen unter @GeneratedValue annotation angeben?

    
Himanshu Yadav 24.07.2012, 13:22
quelle

2 Antworten

18

finden Sie unten den Satz von Code, den ich im Projekt für das gleiche verwendet habe.

%Vor%     
Jigar Parekh 24.07.2012, 13:39
quelle
11

Weitere Informationen finden Sie im benutzerdefinierten id-generator-in-hibernate das kann dir helfen. In diesem Beispiel erstelle ich die Sequenznummer, indem ich die MAX-Nummer aus der Primärschlüsseltabelle mit dem Namen pk_table .

nehme

Mitarbeiter Klasse sieht wie folgt aus.

%Vor%

EmployeeIdGenerator Klasse sieht wie folgt aus

%Vor%

Hier haben wir die Schnittstelle IdentifierGenerator implementiert, um die Funktion generate (SessionImplementor-Sitzung, Objekt des Objekts) zu überschreiben. Die Anweisung SELECT MAX (vlaue) als vlaue aus hibernate_tutorial.pk_table erhält die MAX-Nummer aus der Tabelle pk_table. Und dann fügen wir der MAX -Nummer die Zeichenfolge " EMP " voran.

Die Ausgabe sieht folgendermaßen aus:

MITARBEITER

Mitarbeiter_ID | Geburtsdatum | zell_phone | Vorname | Nachname

EMP1 | 2014-08-22 | 111 | Nina | Mayers

    
user2530633 22.08.2014 03:01
quelle

Tags und Links