检查hibernate命名查询

时间:2015-12-04 09:38:59

标签: java hibernate named-query

我正在尝试开发一个应用程序,其中我有一个共同的DAO作为EntityDao。

该类有一个方法executeNamedQuery,如下所示。

public List executeNamedQuery(String queryName) {
        Query query = getHibernateUtil().getCurrentSession().getNamedQuery(queryName);
        list = query.list();
        return list;
}

我在不同的类中有几个命名查询。一个例子如下:

@NamedQueries({
    @NamedQuery(
    name = "BookList",
    query = "FROM Book AS B WHERE cntrl1=:CNTRL_1"
    )
}) 

Aslo的一些查询没有where子句,或者其中一些查询具有where子句但没有CNTRL_1作为命名参数。

我有一个常见的CNTRL_1值,我希望使用setParameter从常见的EntityDao executeNativeQuery方法设置。但在此之前,我想确定在命名查询中是否存在名称为CNTRL_1的命名参数。

怎么做?请帮忙。

1 个答案:

答案 0 :(得分:1)

您是否已尝试getNamedParameters()