JPA - Erweiterte Mappings



JPA ist eine Bibliothek, die mit Java-Spezifikationen freigegeben wird. Daher unterstützt es alle objektorientierte Konzepte für Entität Persistenz. bisher sind wir mit den Grundlagen der objektrelationale Mapping gemacht. Dieses Kapitel führt Sie durch die erweiterte Zuordnungen zwischen Objekten und relationalen Entitäten.

Vererbung Strategien

Die Vererbung ist das Kernkonzept von jedem objektorientierte Sprache deshalb wir können nutzen Erbschaft Beziehungen Oder Strategien Zwischen Entitäten. JPA-Unterstützung drei Arten der Vererbung Strategien. SINGLE_TABLE, joined_table und TABLE_PER_CONCRETE_CLASS

lassen Sie uns Betrachten wir ein Beispiel. Das folgende Diagramm zeigt drei Klassen, nämlich. Personal, Lehrkräfte Personal und nichtLehrkräfte Personal, und ihre Beziehungen.

Vererbungsstrategie

Im obigen Diagramm, das Personal ist ein Entität, während Lehrkräfte Personal und nichtLehrkräfte Personal sind die Unter Entität des Personals. Hier werden wir das obige Beispiel verwenden, um alle drei Strategien der Vererbung zu demonstrieren.

Single Table Strategie

Single-Table-Strategie nimmt alle Klassen Felder (beide Super-und Unterklassen) und ordnen Sie sie nach unten in einer einzigen Tabelle als SINGLE_TABLE Strategie. Hier spielt die Diskriminatorwert wert eine wichtige Rolle bei der Differenzierung der Werte der drei Einheiten in einer Tabelle.

lassen Sie uns Betrachten wir das obige Beispiel. Lehrerschaft und nichtLehrerschaft sind die Unterklassen-von Personal. Als Gemäß dem Konzept der Vererbung, ein Sub-Klasse erbt die Eigenschaften seiner Super-Klasse. Daher sid und sname sind die Felder, zu sowohl Lehrerschaft und nichtLehrerschaft gehören. Erstellen Sie eine JPA-Projekt. Alle Module des Projekts sind wie folgt:

Erstellen von Entitäten

Erstellen Sie ein Paket mit dem Namen 'com.tutorialspoint.eclipselink.entity' unter 'src' -Paket. Erstellen Sie eine neue Java-Klasse mit dem Namen Staff.java unter gegebenen Paket. Das Personal Entity-Klasse wird wie folgt dargestellt:

package com.tutorialspoint.eclipselink.entity;

import java.io.Serializable;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;
@Entity
@Table
@Inheritance( strategy = InheritanceType.SINGLE_TABLE )
@DiscriminatorColumn( name="type" )
public class Staff implements Serializable 
{
   @Id
   @GeneratedValue( strategy = GenerationType.AUTO )
   private int sid;
   private String sname;
   public Staff( int sid, String sname ) 
   {
      super( );
      this.sid = sid;
      this.sname = sname;
   }
   public Staff( ) 
   {
      super( );
   }
   public int getSid( ) 
   {
      return sid;
   }
   public void setSid( int sid ) 
   {
      this.sid = sid;
   }
   public String getSname( ) 
   {
      return sname;
   }
   public void setSname( String sname ) 
   {
      this.sname = sname;
   }
}

In dem obigen Code @DescriminatorColumn Gibt an der Feldname (Art) und seine Werte zeigen die restlichen (NonTeachingStaff Lehre und) Felder.

Erstellen Sie eine Unterklasse (Klasse) zu Personal-Klasse mit dem Namen TeachingStaff.java unter die com.tutorialspoint.eclipselink.entity -Paket. Die TeachingPersonal Entity-Klasse wird wie folgt dargestellt:

package com.tutorialspoint.eclipselink.entity;

import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;

@Entity
@DiscriminatorValue( value="TS" )
public class TeachingStaff extends Staff 
{
   private String qualification;
   private String subjectexpertise;
   public TeachingStaff( int sid, String sname, String qualification,String subjectexpertise ) 
   {
      super( sid, sname );
      this.qualification = qualification;
      this.subjectexpertise = subjectexpertise;
   }
   public TeachingStaff( ) 
   {
      super( );
   }

   public String getQualification( )
   {
      return qualification;
   }
   public void setQualification( String qualification )
   {
      this.qualification = qualification;
   }
   public String getSubjectexpertise( ) 
   {
      return subjectexpertise;
   }
   public void setSubjectexpertise( String subjectexpertise )
   {
      this.subjectexpertise = subjectexpertise;
   }
}

Erstellen Sie eine Unterklasse (Klasse) zu Personal-Klasse mit dem Namen NonTeachingStaff.java unter die com.tutorialspoint.eclipselink.entity -Paket. Die NonTeachingStaff Entity-Klasse wird wie folgt dargestellt:

package com.tutorialspoint.eclipselink.entity;

import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;

@Entity
@DiscriminatorValue( value = "NS" )
public class NonTeachingStaff extends Staff 
{
   private String areaexpertise;

   public NonTeachingStaff( int sid, String sname, String areaexpertise ) 
   {
      super( sid, sname );
      this.areaexpertise = areaexpertise;
   }
   public NonTeachingStaff( ) 
   {
      super( );
   }
   public String getAreaexpertise( ) 
   {
      return areaexpertise;
   }
   public void setAreaexpertise( String areaexpertise )
   {
      this.areaexpertise = areaexpertise;
   }
}

Persistence.xml

persistence.xml enthält die Konfigurationsinformationen von Datenbank und die Registrierungsinformationen von Entity-Klassen. Die XML-Datei wird wie folgt dargestellt:

<?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.tutorialspoint.eclipselink.entity.Staff</class>
      <class>com.tutorialspoint.eclipselink.entity.NonTeachingStaff</class>
      <class>com.tutorialspoint.eclipselink.entity.TeachingStaff</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>

Service-Klasse

Service-Klassen sind die Umsetzung Teil des Business-Komponente. Erstellen Sie ein Paket unter 'src' -Paket mit dem Namen 'com.tutorialspoint.eclipselink.service' .

Erstellen Sie eine Klasse mit dem Namen SaveClient.java unter dem angegebenen Paket an Mitarbeiter, TeachingStaff und NonTeachingStaff Klassenfelder zu speichern. Die SaveClient Klasse wird wie folgt dargestellt

package com.tutorialspoint.eclipselink.service;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import com.tutorialspoint.eclipselink.entity.NonTeachingStaff;
import com.tutorialspoint.eclipselink.entity.TeachingStaff;

public class SaveClient 
{
   public static void main( String[ ] args ) 
   {
      EntityManagerFactory emfactory = Persistence.
      createEntityManagerFactory( "Eclipselink_JPA" );
      EntityManager entitymanager = emfactory.
      createEntityManager( );
      entitymanager.getTransaction( ).begin( );
  
      //Teaching staff entity 
      TeachingStaff ts1=new TeachingStaff(
      1,"Gopal","MSc MEd","Maths");
      TeachingStaff ts2=new TeachingStaff(
      2, "Manisha", "BSc BEd", "English");
      //Non-Teaching Staff entity
      NonTeachingStaff nts1=new NonTeachingStaff(
      3, "Satish", "Accounts");
      NonTeachingStaff nts2=new NonTeachingStaff(
      4, "Krishna", "Office Admin");
  
      //storing all entities
      entitymanager.persist(ts1);
      entitymanager.persist(ts2);
      entitymanager.persist(nts1);
      entitymanager.persist(nts2);
      entitymanager.getTransaction().commit();
      entitymanager.close();
      emfactory.close();
   }
}

Nach dem Kompilieren und Ausführen des oben Programms werden Sie über Benachrichtigungen auf der Konsole Panel von Eclipse-IDE zu bekommen. Überprüfen Sie MySQL Workbench für die Ausgabe. Die Ausgabe im Tabellenformat wird wie folgt dargestellt:

Sid Typ Sname Areaexpertise Qualifikation Subjectexpertise
1 TS Gopal MSC MED Maths
2 TS Manisha BSC BED English
3 NS Satish Accounts
4 NS Krishna Office Admin

Schließlich werden Sie bekommen eine einzelne Tabelle haltigen dem Feld aller drei Klassen mit einem Diskriminator Spalte namens Typ (Feld).

Beigetreten Tabelle Strategie

Beigetreten Tabelle Strategie ist es, die referenzierte Spalte, die eindeutige Werte, um die Tabelle zu beitreten und einfache Transaktionen machen teilen. Lassen Sie uns das gleiche Beispiel wie oben betrachten.

Erstellen Sie eine JPA-Projekt. Alle Projektmodule finden Sie weiter unten.

Erstellen von Entitäten

Erstellen Sie ein Paket mit dem Namen 'com.tutorialspoint.eclipselink.entity' unter 'src' -Paket. Erstellen Sie eine neue Java-Klasse mit dem Namen Staff.java unter gegebenen Paket. Das Personal Entity-Klasse wird wie folgt dargestellt:

package com.tutorialspoint.eclipselink.entity;

import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;

@Entity
@Table
@Inheritance( strategy = InheritanceType.JOINED )
public class Staff implements Serializable 
{
   @Id
   @GeneratedValue( strategy = GenerationType.AUTO )
   private int sid;
   private String sname;
   public Staff( int sid, String sname ) 
   {
      super( );
      this.sid = sid;
      this.sname = sname;
   }
   public Staff( ) 
   {
      super( );
   }
   public int getSid( ) 
   {
      return sid;
   }
   public void setSid( int sid ) 
   {
      this.sid = sid;
   }
   public String getSname( ) 
   {
      return sname;
   }
   public void setSname( String sname ) 
   {
      this.sname = sname;
   }
}

Erstellen Sie eine Unterklasse (Klasse) zu Personal Klasse mit dem Namen TeachingStaff.java unter die com.tutorialspoint.eclipselink.entity -Paket. Die TeachingStaff Entity-Klasse wird wie folgt dargestellt:

package com.tutorialspoint.eclipselink.entity;

import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;

@Entity
@PrimaryKeyJoinColumn(referencedColumnName="sid")
public class TeachingStaff extends Staff 
{
   private String qualification;
   private String subjectexpertise;
   public TeachingStaff( int sid, String sname, 
   String qualification,String subjectexpertise ) 
   {
      super( sid, sname );
      this.qualification = qualification;
      this.subjectexpertise = subjectexpertise;
   }
   public TeachingStaff( ) 
   {
      super();
   }
   public String getQualification( )
   {
      return qualification;
   }
   public void setQualification( String qualification )
   {
      this.qualification = qualification;
   }
   public String getSubjectexpertise( ) 
   {
      return subjectexpertise;
   }
   public void setSubjectexpertise( String subjectexpertise )
   {
      this.subjectexpertise = subjectexpertise;
   }
}

Erstellen Sie eine Unterklasse (Klasse) zu Personal Klasse mit dem Namen NonTeachingStaff.java unter com.tutorialspoint.eclipselink.entity -Paket. Die NonTeachingStaff Entity-Klasse wird wie folgt dargestellt:

package com.tutorialspoint.eclipselink.entity;

import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;

@Entity
@PrimaryKeyJoinColumn(referencedColumnName="sid")
public class NonTeachingStaff extends Staff 
{
   private String areaexpertise;
   public NonTeachingStaff( int sid, String sname, String areaexpertise) 
   {
      super( sid, sname );
      this.areaexpertise = areaexpertise;
   }
   public NonTeachingStaff( ) 
   {
      super( );
   }
   public String getAreaexpertise( ) 
   {
      return areaexpertise;
   }
   public void setAreaexpertise( String areaexpertise )
   {
      this.areaexpertise = areaexpertise;
   }
}

Persistence.xml

persistence.xml Datei enthält die Konfigurationsinformationen der Datenbank und die Registrierungsinformationen von Entity-Klassen. Die XML-Datei wird wie folgt dargestellt:

<?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.tutorialspoint.eclipselink.entity.Staff</class>
   <class>com.tutorialspoint.eclipselink.entity.NonTeachingStaff</class>
   <class>com.tutorialspoint.eclipselink.entity.TeachingStaff</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>

Service-Klasse

Service-Klassen sind die Umsetzung Teil des Business-Komponente. Erstellen Sie ein Paket unter 'src' -Paket mit dem Namen 'com.tutorialspoint.eclipselink.service'.

Erstellen Sie eine Klasse mit dem Namen SaveClient.java unter dem angegebenen Paket Bereichen Personal, TeachingStaff und NonTeachingStaff Klasse zu speichern. Dann SaveClient Klasse wird wie folgt dargestellt:

package com.tutorialspoint.eclipselink.service;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import com.tutorialspoint.eclipselink.entity.NonTeachingStaff;
import com.tutorialspoint.eclipselink.entity.TeachingStaff;

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

      //Teaching staff entity 
      TeachingStaff ts1=new TeachingStaff(
      1,"Gopal","MSc MEd","Maths");
      TeachingStaff ts2=new TeachingStaff(
      2, "Manisha", "BSc BEd", "English");
      //Non-Teaching Staff entity
      NonTeachingStaff nts1=new NonTeachingStaff(
      3, "Satish", "Accounts");
      NonTeachingStaff nts2=new NonTeachingStaff(
      4, "Krishna", "Office Admin");

      //storing all entities
      entitymanager.persist(ts1);
      entitymanager.persist(ts2);
      entitymanager.persist(nts1);
      entitymanager.persist(nts2);

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

Nach dem Kompilieren und Ausführen des Programms werden Sie über Benachrichtigungen in der Konsolenplatte von Eclipse IDE zu bekommen. Für die Ausgabe überprüfen MySQL Workbench.

Hier drei Tabellen erstellt und das Ergebnis von Personal Tabelle ist tabellarisch format angezeigt.

Sid Dtype Sname
1 TeachingStaff Gopal
2 TeachingStaff Manisha
3 NonTeachingStaff Satish
4 NonTeachingStaff Krishna

The result of TeachingStaff table is displayed as follows:

Sid Qualification Subjectexpertise
1 MSC MED Maths
2 BSC BED English

In der obigen Tabelle sid ist der Fremdschlüssel (Referenzfeld Form Personaltabelle) Das Ergebnis von NonTeachingStaff Tabelle wird wie folgt angezeigt:

Sid Areaexpertise
3 Accounts
4 Office Admin

Schließlich werden die drei Tabellen erstellt mit ihren jeweiligen Bereichen und die SID-Feld wird von allen drei Tabellen geteilt. In der Tabelle STAFF, ist SID der Primärschlüssel. In den verbleibenden zwei Tabellen (TeachingStaff und NonTeachingStaff), ist die SID Fremdschlüssel.

Tabelle pro Klasse Strategie

Tabelle pro Klasse Strategie ist es, eine Tabelle für jede Sub-Entität erstellen. Die Mitarbeiter Tabelle erstellt wird, aber es wird null-Werte enthalten. Die Feldwerte des Personals Tabelle muss von beiden TeachingStaff und NonTeachingStaff Tabellen gemeinsam genutzt werden.

Lassen Sie uns das gleiche Beispiel wie oben betrachten.

Erstellen von Entitäten

Erstellen Sie ein Paket mit dem Namen 'com.tutorialspoint.eclipselink.entity' unter 'src' -Paket. Erstellen Sie eine neue Java-Klasse mit dem Namen Staff.java unter gegebenen Paket. Das Personal Entity-Klasse wird wie folgt dargestellt:

package com.tutorialspoint.eclipselink.entity;

import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;

@Entity
@Table
@Inheritance( strategy = InheritanceType.TABLE_PER_CLASS )
public class Staff implements Serializable 
{
   @Id
   @GeneratedValue( strategy = GenerationType.AUTO )
   private int sid;
   private String sname;
   public Staff( int sid, String sname ) 
   {
      super( );
      this.sid = sid;
      this.sname = sname;
   }
   public Staff( ) 
   {
      super( );
   }
   public int getSid( ) 
   {
      return sid;
   }
   public void setSid( int sid ) 
   {
      this.sid = sid;
   }
   public String getSname( ) 
   {
      return sname;
   }
   public void setSname( String sname ) 
   {
      this.sname = sname;
   }
}

Erstellen Sie eine Unterklasse (Klasse) zu Mitarbeiter-Klasse mit dem Namen TeachingStaff.java unter com.tutorialspoint.eclipselink.entity -Paket. Die TeachingStaff Entity-Klasse wird wie folgt dargestellt:

package com.tutorialspoint.eclipselink.entity;

import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;

@Entity
public class TeachingStaff extends Staff 
{
   private String qualification;
   private String subjectexpertise;

   public TeachingStaff( int sid, String sname, String qualification, String subjectexpertise) 
   {
      super( sid, sname );
      this.qualification = qualification;
      this.subjectexpertise = subjectexpertise;
   }
   public TeachingStaff( ) 
   {
      super( );
   }
   public String getQualification( )
   {
      return qualification;
   }
   public void setQualification( String qualification )
   {
      this.qualification = qualification;
   }
   public String getSubjectexpertise( ) 
   {
      return subjectexpertise;
   }
   public void setSubjectexpertise( String subjectexpertise )
   {
      this.subjectexpertise = subjectexpertise;
   }
}

Erstellen Sie eine Unterklasse (Klasse) zu Mitarbeiter-Klasse mit dem Namen NonTeachingStaff.java unter com.tutorialspoint.eclipselink.entity -Paket. Die NonTeachingStaff Entity-Klasse wird wie folgt dargestellt:

package com.tutorialspoint.eclipselink.entity;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
@Entity
public class NonTeachingStaff extends Staff 
{
   private String areaexpertise;
   public NonTeachingStaff( int sid, String sname, String areaexpertise)
   {
      super( sid, sname);
      this.areaexpertise = areaexpertise;
   }
   public NonTeachingStaff()
   {
      super();
   }
   public String getAreaexpertise() 
   {
      return areaexpertise;
   }
   public void setAreaexpertise( String areaexpertise)
   {
      this.areaexpertise = areaexpertise;
   }
}

Persistence.xml

persistence.xml Datei enthält die Konfigurationsinformationen von Datenbank-und Registrierungsinformationen von Entity-Klassen. Die XML-Datei wird wie folgt dargestellt:

<?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.tutorialspoint.eclipselink.entity.Staff</class>
   <class>com.tutorialspoint.eclipselink.entity.NonTeachingStaff</class>
   <class>com.tutorialspoint.eclipselink.entity.TeachingStaff</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>

Service-Klasse

Service-Klassen sind die Umsetzung Teil des Business-Komponente. Erstellen Sie ein Paket unter 'src' -Paket mit dem Namen 'com.tutorialspoint.eclipselink.service'.

Erstellen Sie eine Klasse mit dem Namen SaveClient.java unter dem angegebenen Paket an Mitarbeiter, TeachingStaff und NonTeachingStaff Klassenfelder zu speichern. Die SaveClient Klasse wird wie folgt dargestellt:

package com.tutorialspoint.eclipselink.service;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import com.tutorialspoint.eclipselink.entity.NonTeachingStaff;
import com.tutorialspoint.eclipselink.entity.TeachingStaff;
public class SaveClient 
{
   public static void main( String[ ] args ) 
   {
      EntityManagerFactory emfactory = Persistence.
      createEntityManagerFactory( "Eclipselink_JPA" );
      EntityManager entitymanager = emfactory.
      createEntityManager( );
      entitymanager.getTransaction( ).begin( );

      //Teaching staff entity 
      TeachingStaff ts1=new TeachingStaff(
      1,"Gopal","MSc MEd","Maths");
      TeachingStaff ts2=new TeachingStaff(
      2, "Manisha", "BSc BEd", "English");
      //Non-Teaching Staff entity
      NonTeachingStaff nts1=new NonTeachingStaff(
      3, "Satish", "Accounts");
      NonTeachingStaff nts2=new NonTeachingStaff(
      4, "Krishna", "Office Admin");

      //storing all entities
      entitymanager.persist(ts1);
      entitymanager.persist(ts2);
      entitymanager.persist(nts1);
      entitymanager.persist(nts2);

      entity manager.getTransaction().commit();
      entitymanager.close();
      emfactory.close();
   }
}

Nach dem Kompilieren und Ausführen des obigen Programms, werden Sie Meldungen auf der Konsole Panel von Eclipse-IDE zu bekommen. Für die Ausgabe überprüfen MySQL Workbench.

Hier die drei Tabellen angelegt und die Mitarbeiter Tabelle enthält null Datensätze.

Das Ergebnis von TeachingStaff wird wie folgt angezeigt:

Sid Qualification Sname Subjectexpertise
1 MSC MED Gopal Maths
2 BSC BED Manisha English

Die obige Tabelle enthält TeachingStaff Bereichen Personal und TeachingStaff Entities.

Das Ergebnis von NonTeachingStaff wird wie folgt angezeigt:

Sid Areaexpertise Sname
3 Accounts Satish
4 Office Admin Krishna

Die obige Tabelle enthält NonTeachingStaff Bereichen Personal und NonTeachingStaff Entities.

Advertisements