Define state of an object. Distinguish between persistent and transient objects.
State of an object
A condition or situation during the life of an object during which it satisfies some condition performs some activity, or waits for some event is known as the state of an object.
The difference between Persistent objects and transient objects are:-
Persistent Objects are those that are stored in the database [Objects created using abstract data types arrays, nested tables, etc.]. These can be used both with SQL commands and also in PL/SQL blocks. These reside in the data dictionary. Persistent objects are available to the user until they are deleted explicitly. They can be implemented as tables, columns, or attributes. The persistent object is one that outlives the process in which it is created. Remark that this does not mean that objects are stored in a database and that any recovery is guaranteed. It means better, that the lifetime of such objects persists across server process activation and deactivation cycles.
A transient object exists only within the scope of the PL/SQL block. These get automatically deallocated once they go out of the scope of the PL/SQL block. Examples of transient objects are PL/SQL variables. Transient objects have a lifetime bounded by the lifetime of the process in which they are created.
OR,
Transient object
- These objects exist during the execution but destroy once the program terminates.
- Transient Objects that have been just instantiated. Transient objects don't have representation and identifier values in the databases. The transient objects will be destroyed by the garbage collector if they don't have any use and reference in the database.
- In this state, the database has the saved objects
- Example- An entity from a repository comes under persistent objects
Persistent object
- These objects persist & store in the database even if the program terminates. Whenever any object is created DBMS assigns a unique identifier called object identity & it's abbreviated as OID.
- Persistent Objects have representation in databases and identifiers. These objects are saved in the databases. Persistent objects are synchronized with that of the database.
The persistence in Object Oriented Databases is handled by creating Persistent Objects and Transient Objects. As stated above the persistent objects have representations in the databases.
- The objects are not kept in the database in this state of Hibernation
- Until persisted, the creation of a new entity is called transients
Comments
Post a Comment