可以使用条件查询删除吗?
我想这样做:
删除博彩公司 WHERE userID = @userID
如何使用标准执行此操作?
答案 0 :(得分:4)
我不确定除了使用Criteria查询之外你还可以做任何其他事情,尽管有一个使用Criteria删除已经发布在StackOverflow上的示例:How can one delete NHibernate objects using a criteria?
我认为你只想删除而不必返回数据。您可以尝试使用HQL: http://nhibernate.sourceforge.net/NHibernateEg/NHibernateEg.Tutorial1A.html#NHibernateEg.Tutorial1A-CRUD.Delete
答案 1 :(得分:-1)
创建一个java类:
以下是我们的java文件(DeleteHQLExample.java
)的代码,我们将使用查询delete from Insurance insurance where id = 2
以下是删除查询的代码: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());
}
}
}