JPA: Entitäten
JPA Entitäten sind Java-Klassen, die Datenbanktabellen repräsentieren. Sie verwenden Annotationen, um die Beziehung zwischen Java-Objekten und Datenbanktabellen zu beschreiben.
Wichtige Annotationen
Abschnitt betitelt „Wichtige Annotationen“-
@Entity: Diese Annotation kennzeichnet eine Klasse als JPA Entität. Sie ist am Anfang der Klasse zu platzieren und zeigt, dass die Klasse eine Datenbanktabelle repräsentiert. -
@Table: Mit dieser Annotation kann der Name der Datenbanktabelle angegeben werden, der standardmässig dem Klassennamen entspricht. Falls der Tabellenname in der Datenbank vom Klassennamen abweicht, kann dies durch@Table(name = "Tabellenname")angepasst werden. -
@Id: Diese Annotation kennzeichnet die Primärschlüssel-Attribute einer Entität. Jede Entität muss mindestens einen Primärschlüssel haben, um eindeutig identifiziert werden zu können. -
@GeneratedValue: Diese Annotation wird zusammen mit@Idverwendet, um die Generierungsstrategie des Primärschlüssels anzugeben. Zum Beispiel:@GeneratedValue(strategy = GenerationType.AUTO). -
@Column: Mit dieser Annotation können Attributeigenschaften wie Name, Länge oder optionaler Nullwert festgelegt werden. Zum Beispiel:@Column(name = "spaltenname", nullable = false, length = 255).
Getter und Setter
Abschnitt betitelt „Getter und Setter“Getter- und Setter-Methoden sind wichtige Bestandteile von JPA Entitäten. Sie ermöglichen den Zugriff auf die Attribute der Entität und die Anwendung der Geschäftslogik bei der Änderung der Attributwerte.
-
Getter: Eine Getter-Methode gibt den Wert eines Attributs zurück. Sie beginnt normalerweise mit “get” gefolgt vom Attributnamen (z.B.
getName()). -
Setter: Eine Setter-Methode ändert den Wert eines Attributs. Sie beginnt normalerweise mit “set” gefolgt vom Attributnamen (z.B.
setName(String name)).
Getter und Setter sind notwendig, weil sie die Kapselung und Datenintegrität gewährleisten. Sie stellen sicher, dass der Zugriff auf die Attribute nur über definierte Methoden erfolgt und ermöglichen es, zusätzliche Logik bei der Änderung von Attributwerten einzufügen, wie zum Beispiel Validierung oder Benachrichtigungen.
Beispiel einer JPA Entität:
@Entity@Table(name = "person")public class Person {
@Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id;
@Column(name = "first_name", nullable = false) private String firstName;
@Column(name = "last_name", nullable = false) private String lastName;
// Getter und Setter public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public String getFirstName() { return firstName; }
public void setFirstName(String firstName) { this.firstName = firstName; }
public String getLastName() { return lastName; }
public void setLastName(String lastName) { this.lastName = lastName; }}Dieses Beispiel zeigt eine einfache JPA Entität Person mit den wichtigsten Annotationen und Getter- und Setter-Methoden für ihre Attribute.