我的pojo课程中有一个这个字段
@Enumerated(EnumType.STRING)
@Column(name="CAT_TYPE", unique=false, nullable=false)
private CategoryType type;
在我的Dao中,我希望根据此查询的类型获取类别列表:
String hql = "SELECT * FROM Category as c WHERE c.status='ACTIVE' and c.cat_type=:type";
SQLQuery query = currentSession().createSQLQuery(hql);
query.addEntity(Category.class)
.setParameter("type", type)
.setFirstResult(index)
.setMaxResults(max);
List<Category> listOfCat = query.list();
我遇到的问题是它无法提取resultSet。
但是如果我将查询更改为:
String hql = "SELECT * FROM Category as c WHERE c.status='ACTIVE' and c.cat_type='BOOKS'";
SQLQuery query = currentSession().createSQLQuery(hql);
query.addEntity(Category.class)
.setFirstResult(index)
.setMaxResults(max);
List<Category> listOfCat = query.list();
完美无缺。那么如何为枚举设置参数?