最简单的hibernate条件查询等同于
SELECT name FROM people WHERE id='3'
是吗:
criteria.add(Expression.eq("id", 3));
如何将其检索到String变量名称字段的值,ID是唯一的
答案 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个人,而不需要经历指定任何事情的麻烦。