我定义了Hibernate命名查询,所以我使用criteria.getNamedQuery()获取此查询,
这里我想将它与标准对象集成,以便我将添加额外的约束。
请提供任何提示。
此致 拉朱
答案 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);
但我认为这很糟糕。