Es-jpa-jpa-orm-components
JPA-コンポーネントORM
Lamayoríade las aplicaciones que utilizan bases de datos relacionales para almacenar datos。 調査、研究、教育、研究、教育、教育、および教育 Esto significa Object Relational Mapping de base de das o lastecnologíasestánal cuidado de almacenar、recuperar、actualizar y mantener los datos。 主要なオブジェクトは、テクノロジまたは関連するmapeo.xmlファイルです。 Como xml no necesitancompilación、podemos realizar cambiosfácilmentea varias fuentes de datos con menosadministración。
オブジェクトリレーショナルマッピング
オブジェクトリレーショナルマッピング(ORM)情報は、ORMとcomo mo funcionaの情報を簡単に参照できます。 ORMは、プログラムに関連するプログラムを変換し、オブジェクトの種類を変更します。
ORMの主要な特性と、基本的なデータについての基本的な知識。 Si bien lacartografía、tenemos que tener en cuenta los datos、el tipo de datos、y sus relaciones con la entidad o entidades en cualquier otra tabla。
Funciones avanzadas
- * Persistenciaidiomáticas*:許可されたescribir la persistencia clases utilizando las clases orientadas a objetos。
- アルトレンディミエント:ティファニームコスバスカーテクニカステクニカスデブロッケオアンドエスペランサドール。
- Fiable :es muy estable y utilizado por muchos programadores profesionales。
Arquitectura ORM
El ORM arquitectura es同様のアルsiguiente。
現実的であり、現実的であり、現実的である。
フェイズ1
La primera fase、denominada fase de datos del objeto 、contiene las clases POJO、interfaces y clases。 主要な構成要素は、企業の従業員、および従業員の属性に関するものです。
ejemplo、vamos a tener una base de datos de empleados como esquemaによって。
- POJO empleado clase contiene atributos como ID、nombre、salario、ydesignación。 Tambiéncontienemétodossetter y getter de esos atributos。 *Empleado DAO/clases de servicio contienenmétodosde servicio tales como crear empleado、encontrar los empleados y eliminar empleado。
フェイズ2
La segunda fase、denominada* * fase de mapeo o persistencia JPA証明者、contiene、archivo de mapas(ORM.xml)、JPA Cargadora y rejilla de objeto。
- * JPAプロバイダー*:JPA sabor(javax.persistence)を使用して証明された製品です。 ejemplo Eclipselink、Toplink、hibernaciónなどによって
- 署名者のアーカイブ:署名者(ORM.xml)のアーカイブは、POJOのクラスを参照してください。
- JPA Cargador cargador:La APP funciona como una memoriacaché。 プエデカーガーロスダトスリラシオレス。 Funciona como una copia de base de datos para interactuar con las clases de servicio de datos POJO POJO(atributos de clase)。
- Rejilla de Objeto :es unaubicacióntemporalque puede almacenar una copia de los datos relacionales、como una memoriacaché。 Todas las consultas en la base de datos seefectuará、primero en los datos del objeto grid。 Sólodespuésde que se ha comprometido、que afecta a la base de datos principal。
フェイズ3
La tercera fase es la fase de datos relacionales 。 コンティエンス・ロス・ダトス・リラシオナルズ・ク・ロギカメンテ・エスタ・コンタクト・アル・コンポーネント・コマーシャル。 前部のコモ、前部のコンポーネント、中部の妥協、中部および後部の基本方針に準拠しています。 Hasta entonces、los datos modificados se almacenan en una memoriacachécomo un formato decuadrícula。 ロスダトスオブプロテッソデオブロスダトスエデデンティカアラデアルマセナーロスダトス。
相互作用のメディアメカニズムは、プログラムのエンシマデトレスに基づいています。
Mapping.xml
archivo.xmlのJPA証明機関の地図と、タブラデラベースデダトスの地図
エンメモドデルエンプリアードキューコンティエンヌクアトロアトリビュートのメモ。 El POJO empdad clase de empleados Employee.java es la siguiente:
public class Employee
{
private int eid;
private String ename;
private double salary;
private String deg;
public Employee(int eid, String ename, double salary, String deg)
{
super( );
this.eid = eid;
this.ename = ename;
this.salary = salary;
this.deg = deg;
}
public Employee( )
{
super();
}
public int getEid( )
{
return eid;
}
public void setEid(int eid)
{
this.eid = eid;
}
public String getEname( )
{
return ename;
}
public void setEname(String ename)
{
this.ename = ename;
}
public double getSalary( )
{
return salary;
}
public void setSalary(double salary)
{
this.salary = salary;
}
public String getDeg( )
{
return deg;
}
public void setDeg(String deg)
{
this.deg = deg;
}
}
Elcódigoanterior es la entidad従業員クラスPOJO。 Contiene cuatro atributos b> eid、 ename 、 salary 、および deg 。 タブラとタブラのカンポデロスのカンポデトリビュートは、タブラの eid コモクラベプリンシパルです。 Ahora tenemos que tener en cuenta en eldiseñodel archivo deasignaciónpara hibernar。 マップのアーカイブ名 mapping.xml es el siguiente:
<? xml version="1.0" encoding="UTF-8" ?>
<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm
http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
version="1.0">
<description> XML Mapping file</description>
<entity class="Employee">
<table name="EMPLOYEETABLE"/>
<attributes>
<id name="eid">
<generated-value strategy="TABLE"/>
</id>
<basic name="ename">
<column name="EMP_NAME" length="100"/>
</basic>
<basic name="salary">
</basic>
<basic name="deg">
</basic>
</attributes>
</entity>
</entity-mappings>
カルトグラフィアデラクラースデエンティダッドコンラタブラデラベースデダトスの前部公共施設 アーカイブ
- <entity-mappings> esquemaは、アーカイブXMLでのエスカマの定義を定義します。
- <description> :acerca de laaplicaciónの記述があります。
- <entity> :エチケットは、エンタダードクエデアコンバーチラーエンウナタブラエンウナベースデダトスを定義します。 POJOの定義は、エンターダードの定義を定義します。
- <table> :タブラを定義するエチケット。 Si desea tener nombresidénticostanto para la clase、asícomo la tabla y、acontinuación、esta etiqueta no es necesario。
- <attributes> :los atributos(campos de una tabla)を定義するエチケット。
- <id> :タブラのラクレーブプリンシパルを定義するエチケット。 El <エニケータジェネラルバレエ> クラモヴシグネチャーエルバロールデラクラーヴプリンシパルコモ*オートマティカ*、*マニュアル*デ*セキュエンシア*を定義します。
- <基本> :タブラの定義に基づいて使用します。
- <列名> :規定のタブの定義タブラの定義
ラス・アノタシオネス
汎用コンポーネントxmlを使用して、特定のコンポーネントの構成を特定し、コンポーネントの詳細を特定します。 en enuestro caso、tenemos que mantener archivos xml por separado en un marco。 Essignifica que al escribir un archivo deasignaciónxml、necesitamos comparar los atributos de clase POJO con las etiquetas de la entidad en el archivo mapping.xml。
Aquíestálasolución。 ラクレースの定義、アポタモネスコンフィギュラシオンの設定。 ラス・アノタシオネス・パラティラス・ラス・クラス、プロピエダデス・イ・メトドス Las anotaciones comienzan con "@" elsímbolo。 ラス・アノタシオネスの息子、クラース・アンテ・ド・ウナ・クラス、プロピエダード・オブ・メトド。 Todas las anotaciones de JPA se definen en el javax.persistence paquete
継続的に利用することができます。
Anotación | Descripción |
---|---|
@Entidad | Declara la clase como una entidad o una tabla. |
@Tabla | Declara nombre de la tabla. |
@Basic | Especifica no campos de restricción explícita. |
@Embedded | Especifica las propiedades de la clase o de una entidad cuyo valor es una instancia de una clase se puede incrustar. |
@Id | Especifica la propiedad, el uso de la identidad (la clave principal de una tabla de la clase. |
@GeneratedValue | Especifica el modo en que la identidad se puede inicializar atributo como automática, manual o valor tomado de la tabla de secuencias. |
@Transitorios | Especifica la propiedad que no es constante, es decir, el valor nunca se almacena en la base de datos. |
@Columna | Especifica el atributo de columna para la propiedad persistence. |
@SequenceGenerator | Especifica el valor de la propiedad que se especifica en la anotación @GeneratedValue. Crea una secuencia. |
@TableGenerator | Especifica el generador de valor para la propiedad especificada en la anotación @GeneratedValue. Crea una tabla de generación de valor. |
@AccessType | Este tipo de anotación se utiliza para establecer el tipo de acceso. Si establece el valor de @métodos Accesstype() y formattype() CAMPO), luego se produce acceso Campo sabio. Si establece el valor de @métodos Accesstype() y formattype() PROPIEDAD), a continuación, el acceso se produce bienes. |
@JoinColumn | Especifica la entidad asociación o entidad colección. Esto se utiliza en muchos-a-uno y uno-a-muchas asociaciones. |
@UniqueConstraint | Especifica los campos y las restricciones unique para la primaria o la secundaria. |
@ColumnResult | Hace referencia al nombre de una columna de la consulta SQL que utiliza cláusula select. |
@ManyToMany | Define una relación many-to-many entre el unir tablas. |
@ManyToOne | Define una relación de many-to-one entre el unir tablas. |
@OneToMany | Define una relación one-to-many entre los unir tablas. |
@OneToOne | Define una relación one-to-one entre los unir tablas. |
@NamedQueries | Especifica la lista de consultas con nombre. |
@NamedQuery | Especifica una consulta con nombre estático. |
EstándarJava Bean
Javaのカプセル化されたJavaカプセル化されたインスタンスは、すべてのコンポーネントを含むオブジェクトです。 Java Beanはオブジェクトの一時的な再利用可能なコンポーネントであり、オブジェクトの再利用も可能です。 コンストラクターは、コンストラクターの前もって決定可能な直列化可能なクエリを取得し、個々のインスタンスを設定します。
豆コンベニオス
- Frijol contiene su constructor predeterminado o un archivo que contiene serializa la instancia。 ロ・タント、ウン・フリジョル・プエデ・クレア・ウナ・インスタンシア・デ・オトロ・グラノ。
- ブール値のプロパティのプロパティを設定します。 Probodad booleanos contiene getter y setter *métodos。
- ブール型のプロパティは、セッター*および *ES の方法で作成します。
- ゲッター*メタデータを取得し、レタス *get (javaメソッドの規則)を続けて、カンポクエリコミエンザコンマユスチュラに続きます。 イェメンプロ、カンポエスエルナブレ*サラリオ*タントエルメトドゲッタデエステカンポエス* getSalary()*。
- Setter céquiquierpropiedad debe comenzar conpequeñasLetras set (java method Convention)、continuócon un nombre de campo que comienza con contraramayúsculay el argument value para establecer en campo。 イェメンプロ、カンポエスの名*サラリオ*タントエルメトドのカンペールの設定者* setSalary(ダブルサル)*。
- ブール値のプロパティ、は*複雑なパラメータです。 ブール型のプロパティ*vacío、el es métodode este campo es * isEmpty()*。