Java Persistence API

Қазақстан Энциклопедиясы жобасынан алынған мәлімет

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/>

Үлгі:Navbox