在hibernate中检索单个字段而不是整个pojo

San*_*nju 7 hibernate

我对hibernate有一些疑问,

表:Employee_Master

Id编号名称Varchar工资长

POJO:EmployeeMaster.java

public class EmployeeMaster {

private int id ;
private String name;
private long salary;

//... all field s getter/ setter  methods


}
Run Code Online (Sandbox Code Playgroud)

现在我想从这样的id中得到唯一的名字.

SQL查询如:

select name from employee_master where id = 10;
Run Code Online (Sandbox Code Playgroud)

但是我们怎样才能在休眠中实现上述同样的事情呢?

session.createQuery("from EmployeeMaster empMaster where empMaster.id = 10");
Run Code Online (Sandbox Code Playgroud)

我知道这个解决方案,但它将返回整个pojo列表.但我只想要那个字段名称,所以我该怎么办?

Ste*_*ter 10

在HQL中,您可以简单地询问一个字段:

String employeeName = session.createQuery("select empMaster.name from EmployeeMaster empMaster where empMaster.id = :id").setInteger("id",10).uniqueResult();
Run Code Online (Sandbox Code Playgroud)