Skip to main content

Hibernate

Hibernate is an ORM (Object Relational Mapping) tool which is primarily used in the data layer.

Object Relational Mappings Problems

There are several problems can occur when you are trying to save objects in the database from the scratch without using Hibernate.
  • Mapping member variables to columns
  • Mapping relationships
  • Handling data types
  • Managing changes to an object

Set Up the Development Environment 

Following steps are briefly pointed out how to set up Hibernate on your local machine.
  • Download the hibernate jar files
  • Create a project in Eclipse
  • Right click on the project name and go to properties
  • Navigate to libraries tab
  • Add library and import jar files (lib-> JPA/required)
  • Add Postgres JDBC driver as jar file

Configurations

After you set up the Hibernate you have to create hiberante.cfg.xml file and do some configurations like setup database details, entity class, etc.
  • Dialect: Define what kind of language should use to talk to database

Annotations

You have to use several annotations in your class files to indicate several functionalities, then Hibernate can easily identify them.
  • @Entity: Indicate to treat the defined class as an entity
    • name : define the class name 
  • @Id: Indicate to treat the defined field as primary key
  • @Column: Indicate to treat the defined field as column
    • name: define the column name
  • @Table: Indicate to treat the defined thing as table (doesn't change the entity name)
    • name: define the table name
  • @Transient: ignore the defined field as database field
  • @Temporal: configure date and time functionalities 

Use Hibernate API 

We use Hibernate API functions to save the model object in the database. Following points describe the steps to save the model.  
  • Create a session factory (one time)
  • Create a session using created session factory
  • Save the model object in the database using created session 
There are several API in-built functionalities we can use to save object using Hibernate.
  • configure: take the configuration file and read it
  • buildSessionFactory : return session factory
  • openSession: create a new session
  • beginTransaction: Indicate to start the work of session



Comments

Popular posts from this blog

Object Oriented Programming (OOP)

Object Object is an entity that has state and behavior Class Collection of objects is known as class. There are four main types of OOP concepts Inheritance Object acquire all the properties and behavior of parent object Improve code re-usability Polymorphism One task is performed by different ways Use method overload and override Abstraction Hiding internal details and showing functionality Use abstract class and interfaces Encapsulation Binding code and data into a single unit

Maven

Maven is a software project management and comprehension tool, based on the concept of project object model. Maven Usages Build the code in the development environment (compile the source code, run the test cases and packaging the project) Project management tool Generate reports Dependency management Installation Steps You can install Maven by following below steps .  Manual Installation Download Maven binary file Create some environment variables M2_HOME = environment point to maven directory PATH = append Maven path until bin to path variable Using Ubuntu Terminal sudo apt-get install maven To check Maven is successfully installed, issue the following command mvn --version To create a Maven project using Terminal use following steps mkdir myApp cd myApp/ mvn archetype:generate : choose archetype for the project  groupId: org.amali.myProject (like package name) artifactId: MavenTestApp (like class name) The...

Model-View-Controller (MVC)

MVC(Model-View-Controller) is a software design pattern.It divided your applications into three components Model: Contain business rules and application Data View: Presentation layer (user interface) Controller: Handles the communication between view and model  Objectives of MVC Promote code usability Implement separation of concerns  Separate user interface and software logic Web Frameworks That Use MVC There are several web frameworks that use MVC design pattern.  Ruby On Rails (Ruby) Angular (JS) Django (Python) Express (JS) Flask (Python) Codeigniter (PHP) Simple UseCase for MVC In this use case scenario, Browser sends information that needs to create Employee Object, and Controller save that information in Model and Update the Employee View. Following Image shows the class diagram for above Scenario. Implementation:  https://github.com/kaosadi17/MVC