Hibernate verwendet die Annotation @IdClass, um den gemeinsamen Primärschlüssel zu verarbeiten. Der gemeinsame Primärschlüssel besteht aus mehreren Spalten, und jede Entität entspricht einer gemeinsamen Primärschlüsselklasse. Sie dienen der Eindeutigkeit in verwandten Tabellen und bieten eine größere Flexibilität bei der Abfrage und Aktualisierung. In einem Benutzerverwaltungssystem wird ein Benutzer beispielsweise eindeutig durch Vorname und Nachname identifiziert. Der gemeinsame Primärschlüssel UserId enthält diese beiden Attribute und wird über get abgerufen Methode. Benutzer für einen bestimmten Primärschlüssel.
Hibernate verarbeitet Union-Primärschlüssel
Ein Union-Primärschlüssel ist ein Primärschlüssel, der mehrere Spalten verwendet, um eine Zeile in einer Datenbanktabelle eindeutig zu identifizieren. Hibernate verarbeitet Union-Primärschlüssel mithilfe der Annotation @IdClass
. @IdClass
注解来处理联合主键。
代码示例:
假设我们有一个名为 User
的表,其中 firstName
和 lastName
列共同构成联合主键。我们可以使用以下实体类来映射该表:
@Entity public class User { @IdClass(UserId.class) private UserId id; // 其他属性和方法(省略) } public class UserId implements Serializable { private String firstName; private String lastName; // 构造函数、getter 和 setter 方法(省略) }
在此示例中,UserId
类表示联合主键,它包含 firstName
和 lastName
属性。
实战案例:
我们在一个用户管理系统中使用联合主键。每个用户都由其 firstName
和 lastName
唯一标识。
我们使用以下代码从数据库中查找具有特定联合主键的用户:
UserId id = new UserId("John", "Doe"); User user = session.get(User.class, id);
在上面的代码中,get
方法将返回具有联合主键 John
和 Doe
的 User
Codebeispiel:
🎜🎜Angenommen, wir haben eine Tabelle mit dem NamenUser
, in der die Spalten firstName
und lastName
zusammen den gemeinsamen Primärschlüssel bilden. Wir können die folgenden Entitätsklassen verwenden, um diese Tabelle abzubilden: 🎜rrreee🎜In diesem Beispiel stellt die Klasse UserId
den Union-Primärschlüssel dar, der firstName
und lastName enthält
Eigenschaften. 🎜🎜🎜Praxisfall: 🎜🎜🎜Wir verwenden gemeinsame Primärschlüssel in einem Benutzerverwaltungssystem. Jeder Benutzer wird durch seinen Vornamen
und Nachnamen
eindeutig identifiziert. 🎜🎜Wir verwenden den folgenden Code, um Benutzer mit einem bestimmten gemeinsamen Primärschlüssel aus der Datenbank zu finden: 🎜rrreee🎜 Im obigen Code gibt die Methode get
den Benutzer mit dem gemeinsamen Primärschlüssel zurück John
und User für code>Doe. 🎜🎜 Unions-Primärschlüssel sind sehr nützlich, um die Eindeutigkeit zwischen verwandten Tabellen durchzusetzen. Sie ermöglichen außerdem die Verwendung mehrerer Spalten zur Identifizierung von Entitäten, was eine größere Flexibilität beim Abfragen und Aktualisieren bietet. 🎜Das obige ist der detaillierte Inhalt vonWie geht Hibernate mit Union-Primärschlüsseln um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!