Java 最简单条件查询

Java 最简单条件查询,java,hibernate,Java,Hibernate,最简单的hibernate条件查询等价于什么 SELECT name FROM people WHERE id='3' 是: criteria.add(Expression.eq("id", 3)); 我如何检索它来字符串变量name字段的值,id是唯一的如果您是按id查询的,为什么要将Hibernate条件设置为使用name?如果id被映射为主键,并且您希望直接加载对象,请使用Session的off方法 例如: People thePerson = (People) session.get

最简单的hibernate条件查询等价于什么

SELECT name FROM people WHERE id='3'
是:

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

我如何检索它来字符串变量name字段的值,id是唯一的

如果您是按id查询的,为什么要将Hibernate条件设置为使用name?如果id被映射为主键,并且您希望直接加载对象,请使用Session的off方法

例如:

People thePerson = (People) session.get(People.class, new Integer(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个人,不需要麻烦地指定任何内容

@Lance Harper我是说我修好了,你能给我举个例子吗?编辑。假设您的类为named People,会话变量为named session,则应加载id为1的一个人。