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

Introduction to JQuery

JQuery Open source JavaScript library. Cross browser compatibility Include the JQuery code inside this function       $(document).ready(function(){             your code is here             }); Creating CSS element : nothing added (body{}) class name : added fullstop (.clzname{}) id : added slash (#idname{}) JQuery Methods  click(): can include actions when after clicking defined button $("button").click mouseover: can include actions when over the mouse on defined element $(button').mouseover hover : can include tow functions when the mouse is over it and not $("img").hover load : execute when complete page is fully loaded  $("img").load JQuery Actions hide() : hide the defined content $("#right").hide() html() : change the html element with defined content $("p").html("<p>My content<p>") text() :  change the content as defined text $("p")

Sorting Algorithms

Bubble Sort Named as sinking sort. Compare each pair of the adjacent items and swap them if they are in the wrong order. Worst case and average case time complexity both O(n^2)  and best case time complexity is O(n).

JavaScript Objects and Prototypes

Create Objects Using function Create Objects without duplication code: use functions Using constructors To indicate a function is a constructor:  append new keyword in front of the function name when executing it Call Property of function object foo.call() = foo() Call can bind different objects and can execute functions __proto__ Copy of prototype object If some property is not in the object itself, it then looks it in the prototype. If it finds it returns the value of that property All the new object instances of function point to same prototype object prototype.constructor: property that points to function  GitHub repo:  https://github.com/kaosadi17/JavaScript/blob/master/objects%26prototypes.js