Нұсқалар арасындағы айырмашылық: "Java Persistence API"
(Cat-a-lot: Тасымалдануда... Санат:Информатика → Санат:Ақпараттану) |
ш (1 түзету) |
(айырмашылығы жоқ)
|
00:20, 2025 ж. сәуірдің 26 кезіндегі нұсқасы
Java Persistence API - Java тілінде бағдарламалық жасақтама фреймворкі, бұл фрейворк Java SE және Java EE платформаларында реляциялық ақпарат модельдерін басқару қызметін атқарады.
Нысан
Нысан (Entity) — @Entity
аннотациясы арқылы немесе XML арқылы дерекқормен байланыс құрған POJO классы.
Бұл класста:
- Бос конструктор (public или protected), өзге конструкторлар болуы мүмкін
- Басқа бір класстың бір бөлігі, ішкі класы бола алмайды, интерфейс бола алмайды, enum бола алмайды
- Кем дегенде бір
@Id
бар болуы қажет. - Мұрагер класс бола алмайды және мұралана алмайды
Аннотация қолдану мысалы
Java Persistence API аннотациялар арқылы бизнес-объекттерді тауып дерекқормен қосымша арасында интерфейс қызметін атқарады: <source lang="java"> package org.foo.models.auth;
import java.io.Serializable; import java.util.Date; import java.util.List; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlTransient;
@Entity @Table(name = "account") @XmlRootElement @NamedQueries({
@NamedQuery(name = "Account.findAll", query = "SELECT a FROM Account a"), @NamedQuery(name = "Account.findByLogin", query = "SELECT a FROM Account a WHERE a.login = :login"), @NamedQuery(name = "Account.findByEmail", query = "SELECT a FROM Account a WHERE a.email = :email")})
public class Account implements Serializable {
private static final long serialVersionUID = 1L; @Id @Basic(optional = false) @Column(name = "login") private String login; @Basic(optional = false) @Column(name = "password") private String password; @Basic(optional = false) @Column(name = "email") private String email; @JoinColumn(name = "typeProfil", referencedColumnName = "idProfil") @ManyToOne(optional = false) private Profil typeProfil; public Account() { }
public Account(String login) { this.login = login; }
public Account(String login, String password, String email) { this.login = login; this.password = password; this.email = email; }
public String getLogin() { return login; }
public void setLogin(String login) { this.login = login; }
public String getPassword() { return password; }
public void setPassword(String password) { this.password = password; }
public String getEmail() { return email; }
public void setEmail(String email) { this.email = email; }
public Profil getTypeProfil() { return typeProfil; }
public void setTypeProfil(Profil typeProfil) { this.typeProfil = typeProfil; }
}
</source>
Тағы қараңыз
Сілттемелер
<references/>