SlideShare a Scribd company logo
1 of 12
1
Inheritance
in
Hibernate
Hibernate Course in Navi Mumbai
2
Introduction
There are three types of inheritance mapping in hibernate
1. Table per concrete class with unions
2. Table per class hierarchy
3. Table per subclass
Hibernate Course in Navi Mumbai
3
Example
Let us take the simple example of 3 java classes.
Class Manager and Worker are inherited from Employee Abstract
class.
1. Table per concrete class with unions
In this case there will be 2 tables
Tables: Manager, Worker [all common attributes will be
duplicated]
Hibernate Course in Navi Mumbai
Examples To be continued…
2. Table per class hierarchy
Single Table can be mapped to a class hierarchy
There will be only one table in database called
'Employee' that will represent all the attributes
required for all 3 classes.
But it needs some discriminating column to
differentiate between Manager and worker;
In this case there will be 3 tables represent
Employee, Manager and Worker
4Hibernate Course in Navi Mumbai
One table per class hierarchy:
5
Hibernate Course in Navi Mumbai
Lets say we have following class hierarchy. We have shape class
as base class and Rectangle and Circle inherit from Shape class.
Using table per class hierarchy
When using this inheritance strategy, the class hierarchy is represented by multiple classes combined into one de-
normalized DB table. A discriminator column identifies the type and the subclass. 
Example:
6
Hibernate Course in Navi Mumbai
package com.sample
public class Vehicle {
long id;
int noOfTyres;
private String colour;
// Constructors and getters/setters
}
package com.sample
public class Car extends Vehicle {
private String licensePlate;
long price;
int speed;
// Constructors and getters/setters
}
Here's the hibernate configuration:
7
Hibernate Course in Navi Mumbai
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
  
<hibernate-mapping package="com.sample">
  
    <class name="Vehicle" table="VEHICLE" discriminator-value="V">
        <id name="id" column="VEHICLE_ID">
            <generator class="native" />
        </id>
  
        <discriminator column="DISCRIMINATOR" type="string" />
  
        <property name="noOfTyres" type="integer" column="NO_OF_TYRES" />
        <property name="colour" type="string"  />
  
        <subclass name="Car" extends="Vehicle" discriminator-value="C">
                <property name="licensePlate" column="LICENSE_PLATE" />
                <property name="price" type="long"   />
                <property name="speed" type="integer"   />
        </subclass>
    </class>
</hibernate-mapping>
8
Hibernate Course in Navi Mumbai
import javax.persistence.Column;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;
@Entity
@Table(name = "VEHICLE")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(
name="discriminator",
discriminatorType=DiscriminatorType.STRING
)
@DiscriminatorValue(value="V")
public class Vehicle {
@Id
@GeneratedValue
@Column(name = "VEHICLE_ID")
private Long id;
@Column(name="NO_OF_TYRES")
int noOfTyres;
@Column
private String colour;
// Constructors and Getter/Setter methods,
}
9
Hibernate Course in Navi Mumbai
import javax.persistence.Column;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name="VEHICLE")
@DiscriminatorValue("C")
public class Car extends Vehicle {
@Column(name="license_plate")
private String licensePlate;
@Column
long price;
@Column
int speed;
// Constructors and Getter/Setter methods,
}
Advantage & Disadvantage
10
Hibernate Course in Navi Mumbai
Advantage
Since this model uses a denormalized table, it
offers the best performance even for in the deep
hierarchy since it uses a single select to retrieve
data.
Disadvantage
Since the subclass state can’t have not-null
constraints data integrity is compromised. Also,
because all the state is in the same table, changes
to members of the hierarchy require column to be
altered, added or removed from the table.
11Hibernate Course in Navi Mumbai
SessionFactory sf = HibernateUtil.getSessionFactory();
Session session = sf.openSession();
session.beginTransaction();
// Will use discriminator V
Vehicle v = new Vehicle(1, 4, "red");
session.save(v);
// Will use discriminator C
Car car = new Car("AB123456", 15000l, 200);
session.save(c);
session.getTransaction().commit();
session.close();
In the following example we will insert at first a Vehicle class (will into the
VEHICLE table using the discriminator "V"), then we will insert a Car Object
into the VEHICLE table (using the discriminator "C")
12
Thank You
Vibrant Technology
Courses & Training institute in Navi Mumbai,Mumbai
“Corporate Training for hibernate in Mumbai”
Hibernate Course in Navi Mumbai

More Related Content

Similar to Hibernate course mumbai_inheritnc

Objectorientedprogrammingmodel1
Objectorientedprogrammingmodel1Objectorientedprogrammingmodel1
Objectorientedprogrammingmodel1bharath yelugula
 
Template rendering in rails
Template rendering in rails Template rendering in rails
Template rendering in rails Hung Wu Lo
 
Views for hackers v1.3
Views for hackers v1.3Views for hackers v1.3
Views for hackers v1.3Karim Ratib
 
.NET F# Inheritance and operator overloading
.NET F# Inheritance and operator overloading.NET F# Inheritance and operator overloading
.NET F# Inheritance and operator overloadingDrRajeshreeKhande
 
Extending MySQL Enterprise Monitor
Extending MySQL Enterprise MonitorExtending MySQL Enterprise Monitor
Extending MySQL Enterprise MonitorMark Leith
 
Documenting from the Trenches
Documenting from the TrenchesDocumenting from the Trenches
Documenting from the TrenchesXavier Noria
 
OR Mapping- nhibernate Presentation
OR Mapping- nhibernate PresentationOR Mapping- nhibernate Presentation
OR Mapping- nhibernate PresentationShahzad
 
Generation_XSD_Article - Part 3.pdf
Generation_XSD_Article - Part 3.pdfGeneration_XSD_Article - Part 3.pdf
Generation_XSD_Article - Part 3.pdfDavid Harrison
 
[2015/2016] Require JS and Handlebars JS
[2015/2016] Require JS and Handlebars JS[2015/2016] Require JS and Handlebars JS
[2015/2016] Require JS and Handlebars JSIvano Malavolta
 
Intro to iOS Development • Made by Many
Intro to iOS Development • Made by ManyIntro to iOS Development • Made by Many
Intro to iOS Development • Made by Manykenatmxm
 
Glorp Tutorial Guide
Glorp Tutorial GuideGlorp Tutorial Guide
Glorp Tutorial GuideESUG
 
ABAP Object oriented concepts
ABAP Object oriented conceptsABAP Object oriented concepts
ABAP Object oriented conceptsDharmeshKumar49
 

Similar to Hibernate course mumbai_inheritnc (20)

OOP and C++Classes
OOP and C++ClassesOOP and C++Classes
OOP and C++Classes
 
Objectorientedprogrammingmodel1
Objectorientedprogrammingmodel1Objectorientedprogrammingmodel1
Objectorientedprogrammingmodel1
 
Template rendering in rails
Template rendering in rails Template rendering in rails
Template rendering in rails
 
Views for hackers v1.3
Views for hackers v1.3Views for hackers v1.3
Views for hackers v1.3
 
Rails 3 hints
Rails 3 hintsRails 3 hints
Rails 3 hints
 
.NET F# Inheritance and operator overloading
.NET F# Inheritance and operator overloading.NET F# Inheritance and operator overloading
.NET F# Inheritance and operator overloading
 
Rails3 way
Rails3 wayRails3 way
Rails3 way
 
Extending MySQL Enterprise Monitor
Extending MySQL Enterprise MonitorExtending MySQL Enterprise Monitor
Extending MySQL Enterprise Monitor
 
Documenting from the Trenches
Documenting from the TrenchesDocumenting from the Trenches
Documenting from the Trenches
 
Inheritance.ppt
Inheritance.pptInheritance.ppt
Inheritance.ppt
 
OR Mapping- nhibernate Presentation
OR Mapping- nhibernate PresentationOR Mapping- nhibernate Presentation
OR Mapping- nhibernate Presentation
 
Generation_XSD_Article - Part 3.pdf
Generation_XSD_Article - Part 3.pdfGeneration_XSD_Article - Part 3.pdf
Generation_XSD_Article - Part 3.pdf
 
[2015/2016] Require JS and Handlebars JS
[2015/2016] Require JS and Handlebars JS[2015/2016] Require JS and Handlebars JS
[2015/2016] Require JS and Handlebars JS
 
java tr.docx
java tr.docxjava tr.docx
java tr.docx
 
Intro to iOS Development • Made by Many
Intro to iOS Development • Made by ManyIntro to iOS Development • Made by Many
Intro to iOS Development • Made by Many
 
O op lecture 04
O op lecture 04O op lecture 04
O op lecture 04
 
OOP lecture 04
OOP  lecture 04OOP  lecture 04
OOP lecture 04
 
Glorp Tutorial Guide
Glorp Tutorial GuideGlorp Tutorial Guide
Glorp Tutorial Guide
 
ABAP Object oriented concepts
ABAP Object oriented conceptsABAP Object oriented concepts
ABAP Object oriented concepts
 
CodeIgniter & MVC
CodeIgniter & MVCCodeIgniter & MVC
CodeIgniter & MVC
 

Recently uploaded

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 

Recently uploaded (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 

Hibernate course mumbai_inheritnc

  • 2. 2 Introduction There are three types of inheritance mapping in hibernate 1. Table per concrete class with unions 2. Table per class hierarchy 3. Table per subclass Hibernate Course in Navi Mumbai
  • 3. 3 Example Let us take the simple example of 3 java classes. Class Manager and Worker are inherited from Employee Abstract class. 1. Table per concrete class with unions In this case there will be 2 tables Tables: Manager, Worker [all common attributes will be duplicated] Hibernate Course in Navi Mumbai
  • 4. Examples To be continued… 2. Table per class hierarchy Single Table can be mapped to a class hierarchy There will be only one table in database called 'Employee' that will represent all the attributes required for all 3 classes. But it needs some discriminating column to differentiate between Manager and worker; In this case there will be 3 tables represent Employee, Manager and Worker 4Hibernate Course in Navi Mumbai
  • 5. One table per class hierarchy: 5 Hibernate Course in Navi Mumbai Lets say we have following class hierarchy. We have shape class as base class and Rectangle and Circle inherit from Shape class.
  • 6. Using table per class hierarchy When using this inheritance strategy, the class hierarchy is represented by multiple classes combined into one de- normalized DB table. A discriminator column identifies the type and the subclass.  Example: 6 Hibernate Course in Navi Mumbai package com.sample public class Vehicle { long id; int noOfTyres; private String colour; // Constructors and getters/setters } package com.sample public class Car extends Vehicle { private String licensePlate; long price; int speed; // Constructors and getters/setters }
  • 7. Here's the hibernate configuration: 7 Hibernate Course in Navi Mumbai <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC         "-//Hibernate/Hibernate Mapping DTD 3.0//EN"         "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">    <hibernate-mapping package="com.sample">        <class name="Vehicle" table="VEHICLE" discriminator-value="V">         <id name="id" column="VEHICLE_ID">             <generator class="native" />         </id>            <discriminator column="DISCRIMINATOR" type="string" />            <property name="noOfTyres" type="integer" column="NO_OF_TYRES" />         <property name="colour" type="string"  />            <subclass name="Car" extends="Vehicle" discriminator-value="C">                 <property name="licensePlate" column="LICENSE_PLATE" />                 <property name="price" type="long"   />                 <property name="speed" type="integer"   />         </subclass>     </class> </hibernate-mapping>
  • 8. 8 Hibernate Course in Navi Mumbai import javax.persistence.Column; import javax.persistence.DiscriminatorColumn; import javax.persistence.DiscriminatorType; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; import javax.persistence.Table; @Entity @Table(name = "VEHICLE") @Inheritance(strategy=InheritanceType.SINGLE_TABLE) @DiscriminatorColumn( name="discriminator", discriminatorType=DiscriminatorType.STRING ) @DiscriminatorValue(value="V") public class Vehicle { @Id @GeneratedValue @Column(name = "VEHICLE_ID") private Long id; @Column(name="NO_OF_TYRES") int noOfTyres; @Column private String colour; // Constructors and Getter/Setter methods, }
  • 9. 9 Hibernate Course in Navi Mumbai import javax.persistence.Column; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import javax.persistence.Table; @Entity @Table(name="VEHICLE") @DiscriminatorValue("C") public class Car extends Vehicle { @Column(name="license_plate") private String licensePlate; @Column long price; @Column int speed; // Constructors and Getter/Setter methods, }
  • 10. Advantage & Disadvantage 10 Hibernate Course in Navi Mumbai Advantage Since this model uses a denormalized table, it offers the best performance even for in the deep hierarchy since it uses a single select to retrieve data. Disadvantage Since the subclass state can’t have not-null constraints data integrity is compromised. Also, because all the state is in the same table, changes to members of the hierarchy require column to be altered, added or removed from the table.
  • 11. 11Hibernate Course in Navi Mumbai SessionFactory sf = HibernateUtil.getSessionFactory(); Session session = sf.openSession(); session.beginTransaction(); // Will use discriminator V Vehicle v = new Vehicle(1, 4, "red"); session.save(v); // Will use discriminator C Car car = new Car("AB123456", 15000l, 200); session.save(c); session.getTransaction().commit(); session.close(); In the following example we will insert at first a Vehicle class (will into the VEHICLE table using the discriminator "V"), then we will insert a Car Object into the VEHICLE table (using the discriminator "C")
  • 12. 12 Thank You Vibrant Technology Courses & Training institute in Navi Mumbai,Mumbai “Corporate Training for hibernate in Mumbai” Hibernate Course in Navi Mumbai