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 + -
显示快捷键?