如何使用Hibernate命名查询和Criteria对象

时间:2011-03-04 14:51:29

标签: hibernate

我定义了Hibernate命名查询,所以我使用criteria.getNamedQuery()获取此查询,

这里我想将它与标准对象集成,以便我将添加额外的约束。

请提供任何提示。

此致 拉朱

1 个答案:

答案 0 :(得分:2)

您不应该为预先构建的命名查询添加子句,您可以使用SqlQuery类创建所需的任何查询。

您也可以更改您的命名查询并添加like子句。

session.getNamedQuery("findStuff").setString("likeWhat", value);

您的查询将在哪里

select * from sometable where somevalue like :likeWhat

编辑:

您也可以执行类似

的操作
Query q = session.getNamedQuery("findStuff");
String query = q.getQueryString(); // the sql statement
query += " and findStuff like :likeWhat"; // add your clause
q = session.createQuery(query);
q.setParameter("likeWhat", value);

但我认为这很糟糕。