Hibernate History and Versions

History of Hibernate

Hibernate was developed in 2001 by Gavin king with his colleagues from Circus Technologies. The main aim was to provide better persistence capabilities than those of EJB2, by reducing the complexities and adding some missing features.

Hibernate is an ORM (Object-Relational Mapping) tool which simplifies the application development. Hibernate provides a framework that interacts with the data stored in the database, and it is a framework for Java EE 5. Gavin King has also contributed to the design of EJB 3.0 and JPA.

Following are the versions of Hibernate:

hibernate history and versions
  • 2001: The first version of Hibernate was released. The main aim was to provide better persistence capabilities than those of EJB2, by reducing complexities and adding some missing features.
  • 2003: The new version of Hibernate was launched that is hibernate2, which provides many improvements over the first version.
  • 2005: The third version of Hibernate was released known as hibernate 3.0 with some new key features. Some features are an interceptor, user-defined filters, and Annotations of JDK 5.0.
  • 2010: Hibernate 3 (version 3.5 and up) has become a certified implementation of the JPA 2.0 specification.
  • 2011: The new version of Hibernate was released known as Hibernate 4.0.0 with some new features such as support, multi-tenancy, better session opening, and many more.
  • 2012: Another version of Hibernate was released known as Hibernate ORM 4.1.9.
  • 2013: New version Hibernate ORM 4.2 Final was released in March 2013. New version Hibernate ORM 4.3.0 Final was released on December 2013 with a new feature JPA 2.1.
  • 2015: New version Hibernate ORM 5.0.2 Final was released on September 2015 with some improvements like bootstrapping, hibernate-java8, Karaf support, etc.
  • 2017: In November 2017, Hibernate ORM 5.1.17 was released.
  • 2018: New version Hibernate ORM 5.3 Final was released in October 2018.
  • 2019: New version Hibernate ORM 5.4.0 Final was released in May 2019.

It runs on a platform known as JVM (Java Virtual Machine). Java Virtual Machine (JVM) is a virtual machine which is used to run Java programs and applications on the computer. Other language programs are also compiled to Java bytecode can be run on JVM. In other words, JVM is a virtual engine that serves the runtime environment to the Java programs and application. JVM converts Java bytecode into machine language.


Related Topics

Hibernate Inverse

Hibernate Inverse An Inverse attribute is used to maintain the relationship between the parent and child class object. The inverse attribute is used only with bi-directional mappings such as one-to-many and many-to-many Hibernate mapping. In Hibernate, the...

2 minutes read.

Hibernate Configuration Properties

Hibernate Configuration Hibernate Configuration is a Java class, which allows a Java application to specify configuration parameters used in the application. As Hibernate is designed to serve in different environments, it needs a broad...

6 minutes read.

Hibernate Mapping

Hibernate Mapping Association- It means that two or more things are related to each other by some specific relation. In other words, it specifies how the objects are associated with each other. Hibernate mapping is one...

2 minutes read.

Lazy Loading in Hibernate

Lazy loading is a fetching technique used for all the entities in Hibernate. It decides whether to load a child class object while loading the parent class object. When we use association mapping...

3 minutes read.

Hibernate Features

1. Lightweight Hibernate is a lightweight framework as it does not contains additional functionalities; it uses only those functionalities required for object-relational mapping. It is a lightweight framework because it uses persistent...

2 minutes read.

Hibernate get() vs. load()

Hibernate methods, get() and load() both are provided by the Session interface and used to retrieve the objects from the database. Session.get() The session.get() method is used to fetch a persistent object of the...

2 minutes read.

Hibernate save() vs persist()

Session.save() The session.save() method is used to save the transient object by assigning a generated value or using a current value of the identifier property. In other words, the save() method is used...

3 minutes read.

Hibernate Composite Primary Key

Hibernate Composite Primary Key A Composite Primary Key is a combination of one or more columns that forms a primary key. When a database table contains more than one primary key column, it is...

8 minutes read.

Hibernate First-Level Cache

The first-level cache is related to the Session object. First level cache objects of one Session are not visible to the other Sessions, and all the cache data is lost when the Session...

2 minutes read.

Hibernate Caching

What is Caching? Caching is a process of saving data into the cache memory. A cache is a temporary storage layer which is used to increase the speed of data access. It allows...

2 minutes read.

Hibernate vs. JDBC

What is Hibernate? Hibernate is an Object-Relational Mapping (ORM) tool which reduces the difficulty in the application development. Hibernate provides a framework that interacts with the data stored in the databases. It also uses...

2 minutes read.

Hibernate One-to-One Mapping Example

One-to-One Hibernate Mapping In One-to-One association mapping, one object of a persistent class is related to one object of another persistent class. Here, we are going to create an example of one-to-one mapping using...

3 minutes read.

Hibernate Named Query using Annotation

In annotation-based named query, we use @NamedQuery annotation inside the POJO class. @NamedQuery- It is used to describe a single named query. It consists of four attributes- two of which are compulsory, and...

2 minutes read.

Hibernate GeneratedValue Strategies

Hibernate GeneratedValue Strategies Hibernate supports some generation strategies to generate a primary key in the database table. We can access the strategy with the help of @GeneratedValue annotation. @GeneratedValue The @GeneratedValue annotation specifies how to...

3 minutes read.

Hibernate Merge

Hibernate Merge Merge is a method available in Hibernate which is used to update the existing records. However, it creates a copy from the passed entity objects and returns it. In other words, the merge()...

2 minutes read.

Cascade in Hibernate

Cascading is a feature in Hibernate, which is used to manage the state of the mapped entity whenever the state of its relationship owner (superclass) affected. When the relationship owner (superclass) is saved/...

3 minutes read.

Hibernate Inheritance - Single Table

Hibernate Inheritance In this inheritance strategy, only one table is created for all the classes involved in the hierarchy with an additional column known as a discriminator column. The discriminator column helps indifferentiating between...

3 minutes read.

Hibernate vs. JPA

What is JPA? JPA stands for Java Persistence API, which defines a set of functionalities, standards, and concepts to the ORM tool. It is a framework used to manage relational databases. It is available...

2 minutes read.

Dirty Checking in Hibernate

Dirty checking is an essential concept of Hibernate. The Dirty checking concept is used to keep track of the objects. It automatically detects whether an object is modified (or not) or wants to...

6 minutes read.

Hibernate merge() vs. update()

In Hibernate, both update() and merge() methods are used to convert the detached state object into the persistent state. session.merge() The merge() method is used when we want to change a detached entity into...

2 minutes read.