hibernateローカルsql文クエリを使用して、List ObjectのList Entityへの変換を解決


私は初めて技术のドキュメントのブログを书いて、どんな言语の文法の问题があるかもしれなくて、また技术类の名词の误解は多く许してください、そして私とみんなのもっと良い学习を指摘します.くだらないことは言わないで、今の任務を始めます.
hibernateフレームワークを使用する場合、プログラマはhibernateテンプレートHibernateTemplateを使用してトランザクションを行います.添削には便利ですが、調べるには大きな問題かもしれません.だから私たちは自分でsql文を書いて、Hqlに依存することはできません.SSHフレームワークのプロジェクトでは、私はこのように処理しています.もしどのネットユーザーがもっと良い方法があれば、提供を歓迎します!
クエリーの方法を考えました.sql文はこうです.
SELECT * FROM (SELECT  o.* FROM shop_goods o ORDER BY o.goods_date DESC ) e LIMIT 3;

Hql文に翻訳できません.hibernateでローカルsql文を実行します.
public List findGoodsByDate() {
	final String sql = "SELECT * FROM (SELECT  o.* FROM shop_goods o ORDER BY o.goods_date DESC ) e LIMIT 3";
	//  sql  
	List list = (List) this.getHibernateTemplate().execute(new HibernateCallback() {
		public Object doInHibernate(Session session) throws HibernateException,
				SQLException {
			SQLQuery query = session.createSQLQuery(sql);
			return query.list();
		}
	});
	return list;
}

 
サービス層のinterfaceはこうです
public List findGoodsByDate();

サービス層でdao層findGoodsByDate()メソッドを呼び出してリストを取得する
リストをリストに変換するにはどうすればいいですか?
 
ShopGoodsのエンティティークラスは
 
private String id;//  id,     
private String goodsName;//    ,           
private String goodsPrice;//    ,            
private String goodsStatus;	//    ,            
private String goodsDate;  //       ,
private String goodsClass;

サービス層の方法は
 
public List findGoodsByDate() {
	List list = shopGoodsDao.findGoodsByDate();
	//         list  
	List goodsList = this.shopObjectListTOPOList(list);//        
	return goodsList;
}
	
/**   */
private List shopObjectListTOPOList(List list) {
	List shopGoodsList = new ArrayList();
	for(int i=0; list != null && i 0) {
			ShopGoods shopGoods = new ShopGoods();
			for(int j=0; j