Wie zu verwenden UUIDs mit Hibernate als ein Feld?
Ich versuche, generierte UUIDs ohne die @Id-annotation, weil mein primary key ist etwas anderes. Die Anwendung generiert einen UUID ein, hast du eine Idee?
Dies ist meine Erklärung:
@Column(name = "APP_UUID", unique = true)
@GeneratedValue(generator="system-uuid")
@GenericGenerator(name="system-uuid", strategy = "uuid")
private String uuid;
Ich bin mit Hibernate 4.3.0 mit Oracle10g.
InformationsquelleAutor der Frage Florian Mozart | 2014-03-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
versuchen dies, kann es helfen,
Lesen Sie diese link Lesen hibernate Dokumente ist es möglich,
InformationsquelleAutor der Antwort Engineer
Überprüfen Sie die Javadoc von
GeneratedValue
:Mit anderen Worten - es ist nicht möglich, mit nur einer Anmerkung zu initialisieren ein 'keine ID' Attribut.
Aber Sie können
@PrePersist
:InformationsquelleAutor der Antwort Tobias Liefke
Ist es nicht, weil Ihre UUID ist eine primary key, es ist zwingend erforderlich, um es annoted mit
@GeneratedValue
.Zum Beispiel, können Sie etwas wie das hier tun :
Und in Ihrer app, generieren eine UUID, vor dem speichern der Entität :
InformationsquelleAutor der Antwort user3173787