日期:2014-05-17  浏览次数:20656 次

求一个hql对象查询方法
项目里面有一个查询对象集合的方法,想改为返回单个对象的查询方法。求代码、、、
    public List<DelStorageInventory> findByUPC(String upc) {
if (upc == null) {
return null;
}
String hql = "select delStorageInventory from DelStorageInventory delStorageInventory where lower(delStorageInventory.upc) like lower(:upc)";
try {
return this.entityManager.createQuery(hql, DelStorageInventory.class).setFlushMode(FlushModeType.COMMIT).setParameter("upc", "%"+upc).getResultList();
} catch(NoResultException e) {
// TODO: handle exception
}
return null;
}

public DelStorageInventory findByUPC(String upc) {
//求单个对象的查询方法、、、

}

------解决方案--------------------
和你list 一样,你list 就只有一个数据而已。
------解决方案--------------------
list.get(0)不就行了
------解决方案--------------------
方法的返回值从List<DelStorageInventory>改成DelStorageInventory
return ......  .getResultList() 加 .get(0)
或者
return  ...... .uniqueResult(); 得到唯一结果 但是你要保证你的结果是一个不然会报SQL异常。

建议你就用第一种。。List Or 对象 只是数据而已。怎么取是你的事么。
这么基本的问题还不了解就别用Hibernate了。补补基础。