Book Image

Java Hibernate Cookbook

Book Image

Java Hibernate Cookbook

Overview of this book

This book will provide a useful hands-on guide to Hibernate to accomplish the development of a real-time Hibernate application. We will start with the basics of Hibernate, which include setting up Hibernate – the pre-requisites and multiple ways of configuring Hibernate using Java. We will then dive deep into the fundamentals of Hibernate such as SessionFactory, session, criteria, working with objects and criteria. This will help a developer have a better understanding of how Hibernate works and what needs to be done to run a Hibernate application. Moving on, we will learn how to work with annotations, associations and collections. In the final chapters, we will see explore querying, advanced Hibernate concepts and integration with other frameworks.
Table of Contents (15 chapters)
Java Hibernate Cookbook
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Working with the table per concrete class strategy of inheritance


This is the easiest strategy among all. In this strategy, hibernate creates a different table for each subclass and parent class. The disadvantage of this approach is that duplicate columns are created in the subclass table.

Getting ready

Consider a new table structure as shown in the following table:

Creating the classes

Update the following code in their respective files:

Source file: Employee.java

@Entity
@Table(name="employee")
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
public class Employee {
  
  @Id
  @GeneratedValue(strategy = GenerationType.TABLE)
  @Column(name="id")
  private long id;
  
  @Column(name="name")
  private String name;
  
  //getters and setters
}

Source file: ContractualEmployee.java

@Entity
@AttributeOverrides({
  @AttributeOverride(name="id", column = @Column(name="id")),
  @AttributeOverride(name="name", column = @Column(name="name"))
})
public class ContractualEmployee extends Employee ...