orderhibernatedao.java

来自「订货系统:这是在Eclipse环境下开发的」· Java 代码 · 共 97 行

JAVA
97
字号
package cn.hxex.order.service.dao.hibernate;import java.sql.SQLException;import java.util.List;import org.hibernate.HibernateException;import org.hibernate.Query;import org.hibernate.Session;import org.springframework.orm.hibernate3.HibernateCallback;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import cn.hxex.order.bo.Order;import cn.hxex.order.service.dao.IOrderDAO;/** * 订单DAO的Hibernate实现,包含了数据处理逻辑 *  * @author galaxy * */public class OrderHibernateDAO	extends HibernateDaoSupport	implements IOrderDAO {	/**	 * Constructor for OrderHibernateDAO.	 */	public OrderHibernateDAO() {		super();	}	/**	 * 通过ID来得到订单的信息	 *	 * @param id 订单的ID	 * @return Order 订单信息	 */	public Order findOrderById(final int id) {		Order order =			(Order) getHibernateTemplate().load(Order.class, new Integer(id));					// force the collection of order line items to be initialized. 		// This could have automatically been done by setting lazy="false" 		// in the Hibernate mappings		if(order.getOrderLineItems().size() > 0){			// collection initialized.			}					return order;	}	/**	 * 通过下订单的用户得到订单的信息	 *	 * @param placedBy 下订单的用户名	 * @return List 订单信息列表	 */	public List findOrdersPlaceByUser(final String placedBy) {		return getHibernateTemplate().executeFind(new HibernateCallback() {			public Object doInHibernate(Session session)				throws HibernateException, SQLException {				StringBuffer sb = new StringBuffer(100);				sb.append("select distinct order ");				sb.append("from Order order ");				sb.append("join order.lineItems lineItems ");				sb.append("where order.placedBy = :placedBy");				sb.append("order by order.id");				Query query = session.createQuery(sb.toString());				query.setString("placedBy", placedBy);				List list = query.list();				return list;			}		});	}	/**	 * 保存一个订单信息	 *	 * @param order 订单信息	 */	public Order saveOrder(final Order order) {		getHibernateTemplate().save(order);		return order;	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?