Nhibernate 使用条件查询删除

Nhibernate 使用条件查询删除,nhibernate,criteria,Nhibernate,Criteria,是否可以使用条件查询删除 我想做: 删除bookmars 其中userID=@userID 如何使用条件执行此操作?我不确定您是否可以使用条件执行查询以外的任何操作,尽管有一个使用条件删除StackOverflow上已发布的内容的示例: 我认为您只想删除而不必返回数据。您可以改为尝试HQL: 创建一个java类: 下面是我们的java文件的代码(DeleteHQLExample.java),我们将使用查询delete from insurance-insurance,其中id=2 下面是dele

是否可以使用条件查询删除

我想做:

删除bookmars 其中userID=@userID


如何使用条件执行此操作?

我不确定您是否可以使用条件执行查询以外的任何操作,尽管有一个使用条件删除StackOverflow上已发布的内容的示例:

我认为您只想删除而不必返回数据。您可以改为尝试HQL: 创建一个java类:

下面是我们的java文件的代码(
DeleteHQLExample.java
),我们将使用查询
delete from insurance-insurance,其中id=2

下面是delete查询的代码:DeleteHQLExample.java

package roseindia.tutorial.hibernate;

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

public class DeleteHQLExample {
  /**
 * @author ashish baviskar
 */
  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());
    }
  }
}