检查休眠命名查询中是否存在特定命名参数
Check if a specific named parameter exists or not in hibernate named query
我正在尝试开发一个应用程序,其中我有一个通用的 DAO 作为 EntityDao。
class 有一个方法 executeNamedQuery 如下。
public List executeNamedQuery(String queryName) {
Query query = getHibernateUtil().getCurrentSession().getNamedQuery(queryName);
list = query.list();
return list;
}
我在不同的 classes 中有几个命名查询。举例如下。
@NamedQueries({
@NamedQuery(
name = "BookList",
query = "FROM Book AS B WHERE cntrl1=:CNTRL_1"
)
})
还有一些查询没有 where 子句,或者有些查询有 where 子句但没有 CNTRL_1 作为命名参数。
我有一个通用的 CNTRL_1 值,我想通过带有 setParameter 的通用 EntityDao executeNativeQuery 方法来设置它。但在此之前,我想确定在命名查询中是否存在名称为 CNTRL_1 的命名参数。
怎么做?请帮忙
你试过了吗getNamedParameters()?
我正在尝试开发一个应用程序,其中我有一个通用的 DAO 作为 EntityDao。
class 有一个方法 executeNamedQuery 如下。
public List executeNamedQuery(String queryName) {
Query query = getHibernateUtil().getCurrentSession().getNamedQuery(queryName);
list = query.list();
return list;
}
我在不同的 classes 中有几个命名查询。举例如下。
@NamedQueries({
@NamedQuery(
name = "BookList",
query = "FROM Book AS B WHERE cntrl1=:CNTRL_1"
)
})
还有一些查询没有 where 子句,或者有些查询有 where 子句但没有 CNTRL_1 作为命名参数。
我有一个通用的 CNTRL_1 值,我想通过带有 setParameter 的通用 EntityDao executeNativeQuery 方法来设置它。但在此之前,我想确定在命名查询中是否存在名称为 CNTRL_1 的命名参数。
怎么做?请帮忙
你试过了吗getNamedParameters()?