hibernate in语句使用和占位符

    public List searchBookByISBNList(List ISBN){
        session = sessionFactory.openSession();
        tx = session.beginTransaction();
        String sql ="select b from Book b where b.ISBN in (:ISBNList)"; //命名参数查询
        Query query=session.createQuery(sql);
        query.setParameterList("ISBNList", ISBN);
        List  list=query.list();
        tx.commit();
        session.close();
        if(list.size() == 0) return null;
        else return list;
    }
    public List searchBookByISBNList(List ISBN){
        session = sessionFactory.openSession();
        tx = session.beginTransaction();
        String sql ="select b from Book b where b.ISBN in (?0)"; //JPA占位符查询
        Query query=session.createQuery(sql);
        query.setParameterList("0", ISBN);
        List  list=query.list();
        tx.commit();
        session.close();
        if(list.size() == 0) return null;
        else return list;
    }
    public List searchBookByISBNList(List ISBN){
        session = sessionFactory.openSession();
        tx = session.beginTransaction();
        String sql ="select b from Book b where b.ISBN in (?)"; //老的占位符查询
        Query query=session.createQuery(sql);
        query.setParameterList("0", ISBN);
        List  list=query.list();
        tx.commit();
        session.close();
        if(list.size() == 0) return null;
        else return list;
    }

你可能感兴趣的:(hibernate in语句使用和占位符)