Hibernate查询持续时间很长

时间:2014-10-21 16:52:51

标签: 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 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;
}

但它持续超过3秒,这是很多。我需要它更快,但要在查询中保留此部分:select '" + username + "' as audituser,因为tblpartner表下有审核,它必须显示与挂载到应用程序的人的完整查询(用户名)。所以我需要选择原样,但速度更快。

1 个答案:

答案 0 :(得分:0)

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