Sobes.tech
Junior — Middle

Czy mógłbyś wyjaśnić mechanizm działania ORM w kontekście JPA?

sobes.tech AI

Odpowiedź od AI

ORM (Mapowanie Obiektowo-Relacyjne) w kontekście JPA (Java Persistence API) to mechanizm, który umożliwia pracę z bazą danych za pomocą obiektów Java, a nie bezpośrednio przez zapytania SQL.

JPA zapewnia standardowy interfejs do mapowania klas Java na tabele bazy danych. Obejmuje to:

  • Klasy encji są oznaczone (@Entity), a pola są powiązane z kolumnami tabel.
  • JPA automatycznie generuje zapytania SQL dla operacji CRUD (tworzenie, odczyt, aktualizacja, usuwanie).
  • Zarządza stanem obiektów (nowy, zarządzany, odłączony, usunięty).
  • Umożliwia korzystanie z JPQL — języka zapytań zorientowanego obiektowo.

Przykład encji:

@Entity
public class User {
    @Id
    @GeneratedValue
    private Long id;

    private String name;

    // gettery i settery
}

W ten sposób ORM przez JPA upraszcza pracę z bazą danych, ukrywając szczegóły SQL i pozwalając na pracę z obiektami, które są znane i wygodne w użyciu.