Sobes.tech
Junior — Middle

Ի՞նչ հիմնական պահանջներ են ներկայացվում Entity դասարաններին JPA- ի օգտագործման ժամանակ։

sobes.tech AI

Պատասխան AI-ից

JPA օգտագործելիս Entity դասերի հիմնական պահանջները՝

  • Դասը պետք է նշված լինի @Entity նշանով:
  • Պետք է ունենա հանրային կամ պաշտպանված առանց պարամետրերի կոնստրուկտոր:
  • Դասը պետք է ունենա եզակի նույնականացուցիչ, որը նշված է @Id-ով:
  • Դասի դաշտերը կարող են լինել մասնավոր, բայց պետք է ունենան getter և setter:
  • Դասը չպետք է լինի final, որպեսզի JPA կարողանա ստեղծել պրոքսի:
  • Խորհուրդ է տրվում իրականացնել equals() և hashCode() մեթոդները նույնականացչի վրա հիմնված:

Օրինակ՝

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

    private String name;

    protected User() {} // ստանդարտ կոնստրուկտոր

    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; }
}