Java 休眠查询持续到很长时间

Java 休眠查询持续到很长时间,java,eclipse,hibernate,hql,Java,Eclipse,Hibernate,Hql,我想请你帮忙。我在hibernate中有一个代码: public PartnerBean getPartner(String uniqueNumber) { StringBuilder query = new StringBuilder(); String username= getUser().getUsername(); query.append(" select '" + username + "' as audituser, {pp.*} from tblp

我想请你帮忙。我在hibernate中有一个代码:

public PartnerBean getPartner(String uniqueNumber) {

    StringBuilder query = new StringBuilder();

    String username= getUser().getUsername();

    query.append(" select '" + username + "' as audituser, {pp.*} from tblpartner pp ");
    query.append(" WHERE pp.uniqueNumber = ").append(uniqueNumber);

    SQLQuery sqlQuery = getSessionFactory().getCurrentSession().createSQLQuery(query.toString());
    sqlQuery.addEntity("pp", PartnerBean.class);

    List<PartnerBean> results = sqlQuery.list(); 

    if (results != null && results.size() > 0)
       return (PartnerBean) results.get(0);
    else
       return null;
}
publicpartnerbeangetpartner(字符串uniqueNumber){
StringBuilder查询=新建StringBuilder();
字符串username=getUser().getUsername();
append(“从tblpartner pp中选择“'+username+””作为audituser,{pp.*}”);
query.append(“其中pp.uniqueNumber=).append(uniqueNumber);
SQLQuery SQLQuery=getSessionFactory().getCurrentSession().createSQLQuery(query.toString());
addEntity(“pp”,PartnerBean.class);
List results=sqlQuery.List();
if(results!=null&&results.size()>0)
返回(PartnerBean)结果。获取(0);
其他的
返回null;
}

但它会持续3秒以上,这就太多了。我需要更快,但要保留这一部分:
在查询中选择“+username+”作为audituser
,因为在
tblpartner
表下有审计,它必须显示登录到应用程序的人(username)的完整查询。所以我需要按原样选择,但速度更快。

您需要在字段uniqueNumber上创建索引