orderdaobean.java

来自「jboss4 + Mysql +ejb3.0 EJB3 简单例子」· Java 代码 · 共 64 行

JAVA
64
字号
/**
 * Copyright (c)上海烟草(集团)公司与上海康时信息系统有限公司。
 */
package com.myejb.imp;

import java.util.Date;
import java.util.List;

import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import com.myejb.OrderDao;
import com.myejb.entity.OrderItem;
import com.myejb.entity.Orders;

/**
 * Orders业务接口实现Session Bean
 * @author xywang
 * @since 2009-2-13
 * @version 1.0
 */
@Stateless
@Remote({OrderDao.class})
public class OrderDaoBean implements OrderDao{
    @PersistenceContext
    protected EntityManager em;
    /* (非 Javadoc)
     * @see com.myejb.OrderDao#getAllOrders()
     */
    public List getAllOrders(){
        Query query = em.createQuery("select o from Orders o inner join fetch o.orderitems order by o.orderid");
        System.out.println(query);
        List result = query.getResultList();
        System.out.println("getAllOrders.........."+result.size());
        return result;
    }

    /* (非 Javadoc)
     * @see com.myejb.OrderDao#getOrdersById(java.lang.Integer)
     */
    public Orders getOrdersById(Integer orderid){
        Orders order = em.find(Orders.class,orderid);
        order.getOrderItems().size();
        // 因为是延时加载,能过执行size()这种方式获取订单下的所有订单项
        return order;
    }

    /* (非 Javadoc)
     * @see com.myejb.OrderDao#insertOrders()
     */
    public void insertOrders(){
       Orders order = new Orders();
       order.setCreatedate(new Date());
       order.addOrderItem(new OrderItem("笔记本电脑",new Float(13200.5)));
       order.addOrderItem(new OrderItem("U盘",new Float(620)));
       order.setAmount(new Float(13200.5+620));
       em.persist(order);
    }

}

⌨️ 快捷键说明

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