最简单的标准查询

时间:2010-03-29 16:10:29

标签: java hibernate

最简单的hibernate条件查询等同于

SELECT name FROM people WHERE id='3'

是吗:

criteria.add(Expression.eq("id", 3));

如何将其检索到String变量名称字段的值,ID是唯一的

2 个答案:

答案 0 :(得分:4)

如果您通过“id”查询,为什么要设置Hibernate标准以使用“name”?如果“id”被映射为主键并且您想直接加载对象,请使用会话之外的Get方法。

示例:

People thePerson = (People) session.get(People.class, new Integer(1));

您可能还想尝试阅读this

答案 1 :(得分:1)

我认为你只想项目名称而不是获得完整的实体。

Criteria crit = session.createCriteria(People.class)
  .add(Restrictions.eq("id", 3);
ProjectionList projectList = Projections.projectionList();
projectList.add(Projections.property("name"));
crit.setProjection(projectList);

(String) crit.uniqueResult();

在这种情况下我也会使用session.get(..),因为你只需要检索1个人,而不需要经历指定任何事情的麻烦。