PersistentManager is used to manage database connection, state of the persistent objects and transaction when the application is running. A database transaction is a unit of the application. It is used to keep integrity of your data in database. Our Persistent Library provides a transaction API for you to create, commit and rollback the transaction for your application.
Start Transaction
When you need to start a transaction, you need to get the session from the PersistentManager and call the beginTransaction function (PersistentManager.instance().getSession().beginTransaction();). Here is a sample:
PersistentTransaction t = PersistentManager.instance().getSession().beginTransaction();
Commit Transaction
After you have inserted/updated/deleted data, you can call the commit function of the transaction object to commit your changes to Database.
t.commit();
Rollback Transaction
In case there are any exception, you can call the rollback function to cancel all the operation.
t.rollback();
Sample Code
The following is an example of using the transaction API.
private Course fireOK() throws PersistentException { PersistentTransaction t = SchoolSystemPersistentManager.instance().getSession().beginTransaction(); try {Course lCourse = CourseFactory.createCourse(); lCourse.setTitle(getTitleTextField().getText()); lCourse.setDescription(getDescriptionTextField().getText()); lCourse.setTeacher(_teacher); _teacher.save(); t.commit(); return lCourse; } catch (Exception e) { e.printStackTrace(); t.rollback(); } return null; }