Junior — Middle
Ҳамчун истифодаи JPA, кадом талаботи асосӣ ба синфҳои Entity пешниҳод мешавад?
sobes.tech AI
Ҷавоб аз AI
Талаботи асосии синфҳои Entity ҳангоми истифодаи JPA:
- Синф бояд бо
@Entityнишонзанад. - Бояд конструктори умумӣ ё ҳимояшудаи бе параметр дошта бошад.
- Синф бояд як идентификатори беназир дошта бошад, ки бо
@Idнишонзанад. - Майдонҳои синф метавонанд хусусӣ бошанд, аммо бояд геттер ва сеттер дошта бошанд.
- Синф набояд финалӣ бошад, то 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; }
}