Book Image

Java Hibernate Cookbook

By : Yogesh Prajapati, Vishal Ranapariya
Book Image

Java Hibernate Cookbook

By: Yogesh Prajapati, Vishal Ranapariya

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
About the Authors
About the Reviewers

Creating a primary key and composite primary key column – @Id and @IdClass

It's necessary to declare an Identity column in each class while developing with hibernate. Sometimes, when we need to declare a primary key as a combination of multiple columns, we call this the composite primary key, as the primary key is composed of multiple columns. We can declare a column with the primary key constraint and also generate a composite primary key using hibernate.

How to do it…

Let's start with a primary key declaration:

  1. To declare a column as a primary key column, we use the @Id annotation, as follows:

    private long id;

    When the preceding code is executed, hibernate creates a column with the name id and also adds the primary key index to it. In this case, @Column is not required unless you want a custom column name.

  2. To declare it as a composite primary key, we will consider creating a composite primary key using the employee's first name and phone. Therefore, the firstName column will be duplicated...