我正在尝试开发一个应用程序,其中我有一个共同的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的命名参数。
怎么做?请帮忙。