Ist der folgende Code legal:JPA Anmerkungen
@Entity
@Embeddable
public class UserProfile {
@Id
private String name;
private String pass;
..
}
Kann ich beide Anmerkungen auf einmal benutzen?
Ist der folgende Code legal:JPA Anmerkungen
@Entity
@Embeddable
public class UserProfile {
@Id
private String name;
private String pass;
..
}
Kann ich beide Anmerkungen auf einmal benutzen?
nein, hier se http://www.objectdb.com//api/java/jpa wie es
andere Sache zu tun, wird die ID automatisch generierte, aber ja können Sie ändern, wie Sie wollen;)
Warum muss immer es Leute, die, wenn angewiesen, nicht auf einen Knopf zu drücken, wird es tun, nur um zu sehen, was passiert? Einbettbar ist ein Typ, genau wie Entität, und sollte nicht zusammen verwendet werden, da eine Einbettung per Definition keine ID enthalten kann.
yiep .. vergaß das;) – F3rr31r4
Nein. Einbettbare Elemente sind für die Einbettung in Entitäten vorgesehen. Sie werden verwendet, um das Zusammensetzungsmuster zu implementieren.
Ok, wir verwirren die Dinge hier.
Eine Entität ist eine Java-Klasse, für deren Instanzen Persistenz in der Datenbank in Form einer Tabelle pro Entität, einer Zeile pro Instanz, gewünscht wird.
Andere Instanzen anderer Klassen können entweder Entitäten mit eigenen Tabellen sein und mit den Eins-zu-Viele-, Viele-zu-Viele- und solchen Annotationen verknüpft sein, oder sie können direkt in derselben Tabelle einer anderen Entität "eingebettet" sein. Dies ist besonders nützlich, wenn Sie über komplexe Schlüssel verfügen und separate Klassen zum Definieren der Primärschlüssel benötigen.
Sie haben also entweder eine embeddable-Klasse, deren Instanzen in einer anderen Entität beibehalten werden, oder Sie haben eine Entität, die in einer eigenen Tabelle beibehalten wird.
Eine ID muss nicht automatisch generiert werden. Es ist eine Benutzereinstellung. – DataNucleus
"aber ja können Sie ändern, wie Sie wollen" = "Es ist eine Benutzereinstellung" – F3rr31r4