Sobes.tech
Junior — Middle

Milyen fő követelmények vannak az Entity osztályokkal szemben JPA használata esetén?

sobes.tech MI

Válasz az MI-től

Az Entity osztályokra vonatkozó fő követelmények JPA használata esetén:

  • Az osztálynak @Entity-vel kell megjelölnie.
  • Legyen nyilvános vagy védett paraméter nélküli konstruktor.
  • Az osztálynak rendelkeznie kell egy egyedi azonosítóval, amit @Id-vel kell megjelölni.
  • Az osztály mezői lehetnek privátok, de getterekkel és setterekkel kell rendelkezniük.
  • Az osztály nem lehet final, hogy a JPA proxykat tudjon létrehozni.
  • Ajánlott az equals() és hashCode() metódusok implementálása az azonosító alapján.

Példa:

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String name;

    protected User() {} // alapértelmezett konstruktor

    public User(String name) {
        this.name = name;
    }

    public Long getId() { return id; }
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
}