What does persistence object means in Hibernate architecture?
According to the figure , you configure hibernate.properties
or some XML mapping
to map a database table to a java object which is called persistent object
.
Then in your application
, you use the persistent object
as a normal java object to
manipulate its state . You can pass persistent object
to hibernate .Hibernate will then generate and issue the necessary SQL to DB to synchronize the state of the persistent object
and its corresponding database record .Does it make sense ?
I will make it more clearer. Persistent objects are instances of POJO classes that you create that represent rows in the table in the database. According to hibernate-doc an instance of POJO class representing table in database goes through 3 states of which persistent is one of them.
When a POJO instance is in session scope, it is said to be persistent i.e hibernate detects any changes made to that object and synchronizes it with database when we close or flush the session.
And about hibernate.properties and XML Mapping @Ken Chan is right. Go through hibernate-doc for more illustrations on objects in hibernate.
Firstly you need to understand the three states of the Hibernate object i.e Transient, Persistent, Detached.
Transient state: An object is in transient state if it just has been instantiated using the new operator and there is no reference of it in the database i.e it does not represent any row in the database.
Persistent state: An object is in the persistent state if it has some reference in the database i.e it represent some row in the database and identifier value is assigned to it. If any changes are made to the object then hibernate will detect those changes and effects will be there in the database that is why the name Persistent. These changes are made when session is closed. A persistent object is in the session scope.
Detached state: An object that has been persistent and is no longer in the session scope. The hibernate will not detect any changes made to this object. It can be connected to the session again to make it persistent again.
Persistent Objects are generally those objects that exist in memory even beyond the duration of the process that creates it. These objects are then stored in the database.