在hibernate中检索单个字段而不是整个pojo [英] Retrieve single field rather than whole pojo in hibernate

查看:96
本文介绍了在hibernate中检索单个字段而不是整个pojo的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一些关于hibernate的查询,

Table:Employee_Master

Id编号
名称Varchar
薪水长期

POJO:EmployeeMaster.java

pre $ code > public class EmployeeMaster {

private int id;
私人字符串名称;
私人长期工资;

// ...所有字段的getter / setter方法



现在我只想从这样的id中获取名字。



SQL查询就像:

 从employee_master中选择名称,其中id = 10; 

但是我们如何才能在hibernate中实现上述相同的功能?

  session.createQuery(EmployeeMaster empMaster where empMaster.id = 10); 

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

解决方案

在HQL中,您只需要求一个字段:

  String employeeName = session.createQuery(从EmployeeMaster empMaster中选择empMaster.name,其中empMaster.id =:id ).setInteger( ID,10).uniqueResult(); 


I have some query regarding hibernate,

Table : Employee_Master

Id Number Name Varchar Salary long

POJO: EmployeeMaster.java

public class EmployeeMaster {

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

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


}

Now I want to get only name from such id.

SQL query like like:

select name from employee_master where id = 10;

But how can we achieve in hibernate the above same thing?

session.createQuery("from EmployeeMaster empMaster where empMaster.id = 10");

This solution I know but it will return whole pojo list. But I want only that field name so what should I do ?

解决方案

In HQL, you can simply ask for the one field:

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

这篇关于在hibernate中检索单个字段而不是整个pojo的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆