|
| ||||||||||
| Tags: criterion, hibernate delete, java, query |
![]() |
| | Thread Tools | Search this Thread |
|
#1
| ||||
| ||||
| Hibernate delete query using criterion
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. |
|
#2
| ||||
| ||||
| 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());
}
}
} |
|
#3
| ||||
| ||||
| 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());
}
} |
|
#4
| ||||
| ||||
| Re: Hibernate delete query using criterion
Thanks for the quick reply. I am trying the suggestion right away. |
|
#5
| |||
| |||
|
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 |
![]() |
|
| Thread Tools | Search this Thread |
| |
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 |