Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 使用HQL代替以下方法中的标准_Hibernate_Hql_Criteria - Fatal编程技术网

Hibernate 使用HQL代替以下方法中的标准

Hibernate 使用HQL代替以下方法中的标准,hibernate,hql,criteria,Hibernate,Hql,Criteria,我有以下名为findExcludedFlagForfvAndij的方法,由于我使用了标准,请告知我如何更改标准,以便我可以使用hql代替标准,请告知这方面的hql是什么 public abfsm findExcludedFlagForfvAndij(IOAfv fv,ijType ij , String sx){ abfsm ioafvAndij=null; if (fv!=null && ij!=null){

我有以下名为
findExcludedFlagForfvAndij
的方法,由于我使用了标准,请告知我如何更改标准,以便我可以使用hql代替标准,请告知这方面的hql是什么

 public abfsm findExcludedFlagForfvAndij(IOAfv fv,ijType ij , String sx){       
            abfsm ioafvAndij=null;

        if (fv!=null && ij!=null){

        //****** want to use HQL instead of criteria******
        Criteria criteria = session.createCriteria(abfsm.class);
        criteria.add(Restrictions.eq("fvISOCode", fv.getSdmfvId()));

        criteria.add(Restrictions.or(Restrictions.isNull("sourceSystem" ), 
                  Restrictions.eq("sourceSystem", sx)));

        criteria.add(Restrictions.eq("ijCode", ij.getCode()));
        criteria.setFirstResult(0);
        criteria.setMaxResults(1);
        ioafvAndij = (abfsm) criteria.list();
        }       

        return ioafvAndij;
            }
标准代码:

    Criteria criteria = session.createCriteria(abfsm.class);
    criteria.add(Restrictions.eq("fvISOCode", fv.getSdmfvId()));

    criteria.add(Restrictions.or(Restrictions.isNull("sourceSystem" ), 
              Restrictions.eq("sourceSystem", sx)));

    criteria.add(Restrictions.eq("ijCode", ij.getCode()));
您可以使用以下HQL代码:

String hql="from abfsm where fvISOCode = :fvISOCode and ijCode = :ijCode and (sourceSystem IS NULL or sourceSystem = :sourceSystem)";     

Query query= session.createQuery(hql)
    .setParameter("fvISOCode", fv.getSdmfvId())
    .setParameter("ijCode", ij.getCode())
    .setParameter("sourceSystem", sx);