Go Back   TechArena Community > Software > Software Development
Become a Member!
Forgot your username/password?
Register Tags Active Topics RSS Search Mark Forums Read

Sponsored Links



Hibernate delete query using criterion

Software Development


Reply
 
Thread Tools Search this Thread
  #1  
Old 03-08-2009
Member
 
Join Date: May 2008
Posts: 28
Hibernate delete query using criterion
  

Hello,

I need to see how can I delete an object in Hibernate? I mean an example to delete from database in Hibernate. Delete query criterion is required.

Thanks.

Reply With Quote
  #2  
Old 03-08-2009
Member
 
Join Date: Apr 2008
Posts: 45
Re: Hibernate delete query using criterion

Try this:

Code:
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

public class DeleteHQLExample {
  /**
 * 
 Criteria Query Example
 *  
 */
  public static void main(String[] args) {
    // TODO Auto-generated method stub  
    Session sess = null;
    try {
      SessionFactory fact = new 
Configuration().configure().buildSessionFactory();
      sess = fact.openSession();
      String hql = "delete from 
Insurance insurance where id = 2";
      Query query = sess.createQuery(hql);
      int row = query.executeUpdate();
      if (row == 0){
        System.out.println("Doesn'
t deleted any row!");
      }
      else{
        System.out.println("Deleted
 Row: " + row);
      }
      sess.close();
    }
    catch(Exception e){
      System.out.println(e.getMessage());
    }
  }
}
Reply With Quote
  #3  
Old 03-08-2009
Member
 
Join Date: May 2008
Posts: 26
Re: Hibernate delete query using criterion

Hey have a look at this:
example:

Code:
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());
    }
}
Reply With Quote
  #4  
Old 03-08-2009
Member
 
Join Date: May 2008
Posts: 28
Re: Hibernate delete query using criterion

Thanks for the quick reply.
I am trying the suggestion right away.
Reply With Quote
  #5  
Old 23-06-2010
Member
 
Join Date: Jun 2010
Posts: 1
i have run the similar code but it has given an out put of null and delete operation is not reflected to database too

here is my code

package roseindia.tutorial.hibernate;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class DeleteExample {

public static void main(String[] args) {

Session session=null;
try
{
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
//System.out.println("SessionFactory IS:"+sessionFactory);
session =sessionFactory.openSession();
// System.out.println("Session IS:"+session);
String hql="delete from Contact where id=5";
//System.out.println("HQL IS:"+hql);
Query query=session.createQuery(hql);
int row=query.executeUpate();

//System.out.println(row);
if(row==0)
{
System.out.println("fail to perform operation");
}
else
{
System.out.println(row+"row deleted sucessfully");
}
session.close();
}catch(Exception e)
{
System.out.println(e.getMessage());

}

}

}
can any one help greatly appriciated
Reply With Quote
Reply

  TechArena Community > Software > Software Development
Tags: , , ,



Thread Tools Search this Thread
Search this Thread:

Advanced Search


Similar Threads for: "Hibernate delete query using criterion"
Thread Thread Starter Forum Replies Last Post
Query disabled users and delete their memberof associations bryan Active Directory 20 21-08-2010 03:55 PM
Delete objects in the collections with Hibernate SoftWore Tips & Tweaks 1 23-07-2010 01:31 PM
Hibernate dynamic update query GianCarlo Software Development 3 01-08-2009 08:47 PM
SQL query to delete a row in database Connect_Me Software Development 3 05-05-2009 01:45 PM
Delete the entries of Table 1 according to criterion of other table Wguy2008 Software Development 2 24-04-2009 11:13 PM


All times are GMT +5.5. The time now is 01:21 PM.