How do I delete persistent object in Hibernate?

Category: org.hibernate, viewed: 1080 time(s).

Continuing the previous example How do I get object from database in Hibernate?, we now add the delete function in our LabelManager class.

 
package org.kodejava.example.hibernate.app;
 
import java.util.Date;
 
import org.hibernate.Session;
 
public class LabelManager {
    private void deleteLabel(Long id) {
        /*
         * Load the object to be deleted
         */
        Label label = getLabel(id);
        
        /*
         * We get the current session and delete the Label object from database.
         */
        Session session = SessionFactoryHelper.getSessionFactory().getCurrentSession();
        session.beginTransaction();    
        session.delete(label);
        session.getTransaction().commit();
    }
 
    private Label getLabel(Long id) {
        Session session = SessionFactoryHelper.getSessionFactory().getCurrentSession();
        
        session.beginTransaction();
        
        /*
         * We get back Label object from database by calling the Session object
         * get() method and passing the object type and the object id to be
         * read.
         */
        Label label = (Label) session.get(Label.class, id);
        session.getTransaction().commit();
        
        return label;
    }
 
    private void saveLabel(Label label) {
        /*
         * To save an object we first get a session by calling getCurrentSession()
         * method from the SessionFactoryHelper class. Next we create a new
         * transcation, save the Label object and commit it to database,
         */
        Session session = SessionFactoryHelper.getSessionFactory().getCurrentSession();
        
        session.beginTransaction();        
        session.save(label);        
        session.getTransaction().commit();
    }
 
    public static void main(String[] args) {        
        LabelManager manager = new LabelManager();
 
        /*
         * Creates a Label object we are going to stored in the database. We
         * set the name, modified by and modified date information.
         */
        Label label = new Label();
        label.setName("Sony Music");
        label.setModifiedBy("admin");
        label.setModifiedDate(new Date());
        
        /*
         * Call the LabelManager saveLabel method.
         */
        manager.saveLabel(label);
        
        /*
         * Read the object back from database.
         */
        label = manager.getLabel(label.getId());
        System.out.println("Label = " + label);
        
        manager.deleteLabel(label.getId());
    }
}
 
 
Bookmark this example!  

Most Viewed Examples

Google

100 Top & Latest


eXTReMe Tracker
visitor stats