如何在hibernate native sql中将enum设置为参数

时间:2014-09-15 03:39:38

标签: sql hibernate enums

我的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();

完美无缺。那么如何为枚举设置参数?

0 个答案:

没有答案