Es-jpa-jpa-entity-managers

提供:Dev Guides
移動先:案内検索

JPA-エンティダード行政官

JPAの最新の機能を使用することができます。 考慮事項Gestiónempleado como un ejemplo。 Supongamos que el empleadoGestióncrea、actualiza y elimina los registros de un empleado。 データベース、データベースの基本的な使用法、データベースの基本的な使用法についてはMySQLを参照してください。

Losmódulosprincipales para este ejemplo son los siguientes:

  • *モデルまたはPOJO * + Employee.java
  • 永続性 + Persistence.xml
  • サービス + CreatingEmployee.java + UpdatingEmployee.java + FindingEmployee.java + EditingEmployee.java

JPA con Eclipselinkでの利用可能なヘモスの使用に関するメモ 連続した音楽の連続性:連続した音楽:

Jerarquíapaquete

クレアentidades

Las entidades no son sino los frijoles o modelos。 イエストロ、ウサレモス*エンパレド*コモエンティダード。 eidenamesalario 、y deg son los atributos de esta entidad。 コンストラクターの事前設定を行い、メタデータの設定と取得を行います。

En el se muestrajerarquía、crear un paquete denominado ‘com.finddevguides.eclipselink.entity’ 、en ‘src’ (Fuente)。 Crear una clase denominada Employee.java bajo determinado paquete de la siguiente manera:

package com.finddevguides.eclipselink.entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table
public class Employee
{
   @Id
   @GeneratedValue(strategy= GenerationType.AUTO)
   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;
   }
   @Override
   public String toString()
   {
      return "Employee [eid=" + eid + ", ename=" + ename + ", salary="
      + salary + ", deg=" + deg + "]";
   }
}

前部エルコーディゴ、ヘモス利用アノタシオン@Entidad POJO para hacer esta clase de entidad。

歴史的背景があります。また、persistence.xml *アーカイブに登録されています。 Abierto MySQLワークベンチとescriba la siguienteのコンサルタント。

create database jpadb
use jpadb

Persistence.xml

JPAの重要な重要な概念を学ぶ。 全体のXMLレジストレーションは、データベースの基本的な仕様に基づいています。

JPA Contenido del paquete es la siguienteの永続的なパッケージ、persistence.xmlの前部

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
   <persistence-unit name="Eclipselink_JPA"
      transaction-type="RESOURCE_LOCAL">

      <class>com.finddevguides.eclipselink.entity.Employee</class>

      <properties>

         <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/jpadb"/>
         <property name="javax.persistence.jdbc.user" value="root"/>
         <property name="javax.persistence.jdbc.password" value="root"/>
         <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
         <property name="eclipselink.logging.level" value="FINE"/>
         <property name="eclipselink.ddl-generation" value="create-tables"/>

      </properties>

   </persistence-unit>
</persistence>

xml、 <persistence-unit> etiqueta se define con un nombreespecíficode persistencia JPA。 La <class> のエチケットは、パケッテの名前を定義します。 La <プロパティ> 規約は、プロダクションの定義、y <プロパティ> は、プロダクションの定義を定義します。comoレジストレーション、ベースURL、特定URL、コントラの名前。 Estas息子はEclipselinkを所有しています。 基本ベースの設定。

持続するオペラ

永続的な操作と基本的な操作の両方を実行することができます。息子 carga y tienda operaciones。 ネゴシオの構成要素では、保守サービスの永続化が必要です。

En el anterior se muestra lajerarquíade paquete、crear un paquete denominado ‘com.finddevguides.eclipselink.service’ 、en ‘src’ (fuente)paquete。 Todas lasは、CreateEmloyee.java、UpdateEmployee.java、FindEmployee.java、およびDeleteEmployee.javaという名前のサービスを提供します。 viene en el paquete determinado como sigue:

クレアエンプリアード

コードのセグメントは、ミュージシャンのコードを作成し、作成する必要があります CreateEmployee.java

package com.finddevguides.eclipselink.service;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import com.finddevguides.eclipselink.entity.Employee;

public class CreateEmployee
{
   public static void main( String[ ] args )
   {
      EntityManagerFactory emfactory = Persistence.createEntityManagerFactory( "Eclipselink_JPA" );
      EntityManager entitymanager = emfactory.createEntityManager( );
      entitymanager.getTransaction( ).begin( );

      Employee employee = new Employee( );
      employee.setEid( 1201 );
      employee.setEname( "Gopal" );
      employee.setSalary( 40000 );
      employee.setDeg( "Technical Manager" );

      entitymanager.persist( employee );
      entitymanager.getTransaction( ).commit( );

      entitymanager.close( );
      emfactory.close( );
   }
}

永続的なプロパティの作成* createEntityManagerFactory()永続的なプロパティの永続化永続的なプロパティの永続化および永続化のための永続的なプロパティの作成。 *entitymanagerfactory オブジェクト entitymanger instancia mediante el uso de * createEntityManager()método。 El *entitymanager objeto crea entitytransaction instancia paragestiónde transacciones。 entitymanager オブジェクト、データベースの永続化のための永続的なオブジェクト。

上記のプログラムをコンパイルして実行すると、Eclipse IDEのコンソールパネルにあるeclipselinkライブラリから通知を受け取ります。

パラエルリザルト、アブラエルMySQLワークベンチ、エスクリバラスシギエンテスコンサルタント。

use jpadb
select * from employee

タブラ・デ・ベース・デ・ダクト・エフェクアト・ラマダ empleado semostraráen un formato tabular de la siguiente manera:

Eid Ename Salary Deg
1201 Gopal 40000 Technical Manager

Empleado deactualización

完全な登録簿、基本的な登録簿、既存の登録簿、現実的な妥協案などがあります。 ラ・クラス・デノミナダ UpdateEmployee.java se muestra como sigue:

package com.finddevguides.eclipselink.service;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import com.finddevguides.eclipselink.entity.Employee;

public class UpdateEmployee
{
   public static void main( String[ ] args )
   {
      EntityManagerFactory emfactory = Persistence.
      createEntityManagerFactory( "Eclipselink_JPA" );
      EntityManager entitymanager = emfactory.createEntityManager( );
      entitymanager.getTransaction( ).begin( );
      Employee employee=entitymanager.find( Employee.class, 1201 );

     //before update
      System.out.println( employee );
      employee.setSalary( 46000 );
      entitymanager.getTransaction( ).commit( );

     //after update
      System.out.println( employee );
      entitymanager.close();
      emfactory.close();
   }
}

Eclipseの日記IDEのコンパチオンとエクリプスの前の日記のリンクを参照してください。

パラエルリザルト、アブラエルMySQLワークベンチ、エスクリバラスシギエンテスコンサルタント。

use jpadb
select * from employee

タブラ・デ・ベース・デ・ダクト・エフェクアト・ラマダ empleado semostraráen un formato tabular de la siguiente manera:

Eid Ename Salary Deg
1201 Gopal 46000 Technical Manager

El salario del empleado、1201 se actualiza a 46000。

Encontrar Emleados

従業員登録簿、テネモスクーペレカロスデトスエクイゼンテンテスデスデラベースデダトスアンドモストラーロ。 エンティティトランザクション、EntityTransaction、およびレジストリの回復。

La Clase denominada FindEmployee.java como sigue。

package com.finddevguides.eclipselink.service;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import com.finddevguides.eclipselink.entity.Employee;

public class FindEmployee
{
   public static void main( String[ ] args )
   {
      EntityManagerFactory emfactory = Persistence.createEntityManagerFactory( "Eclipselink_JPA" );
      EntityManager entitymanager = emfactory.createEntityManager();
      Employee employee = entitymanager.find( Employee.class, 1201 );

      System.out.println("employee ID = "+employee.getEid( ));
      System.out.println("employee NAME = "+employee.getEname( ));
      System.out.println("employee SALARY = "+employee.getSalary( ));
      System.out.println("employee DESIGNATION = "+employee.getDeg( ));
   }
}

前もってプログラムを実行し、日食IDEを使用したEclipselinkのシンプルなパネルを使用します。

employee ID = 1201
employee NAME = Gopal
employee SALARY = 46000.0
employee DESIGNATION = Technical Manager

エリミナル・エンプリアド

パラボラールロスレジストロスデウンエンプリアード、プリメーロエンコントラレモスロスレジストロスレジステンテスアンドルーエゴボラーロ。 重要なEntityTransactionの詳細はこちら。

La clase denominada DeleteEmployee.java como sigue:

package com.finddevguides.eclipselink.service;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import com.finddevguides.eclipselink.entity.Employee;

public class DeleteEmployee
{
   public static void main( String[ ] args )
   {
      EntityManagerFactory emfactory = Persistence.createEntityManagerFactory( "Eclipselink_JPA" );
      EntityManager entitymanager = emfactory.createEntityManager( );
      entitymanager.getTransaction( ).begin( );

      Employee employee=entitymanager.find( Employee.class, 1201 );
      entitymanager.remove( employee );
      entitymanager.getTransaction( ).commit( );
      entitymanager.close( );
      emfactory.close( );
   }
}

Eclipseの日記IDEのコンパチオンとエクリプスの前の日記のリンクを参照してください。

パラエルリザルト、アブラエルMySQLワークベンチ、エスクリバラスシギエンテスコンサルタント。

use jpadb
select *from employee

La base de datos efectuado llamado* empleado *tendráregistros nulos。

ミラ・コモ地区の歴史的建造物群、ラ・ヘラルキヤ・デ・エスト・イェメンプロの歴史的建造物:

モドゥロス