java hibernate fifo查询?

时间:2013-12-18 22:16:49

标签: java mysql hibernate

我正在使用java + hibernate创建一个会计应用程序。我有一张代表库存的表格。购买的物品和销售的物品。

日期,买/卖,价格,数量

说我有以下数据;

1 buy 2.00 1
2 sell 2.25 1
3 buy 3.00 2
4 sell 2.90 1

如何编写一个返回不匹配条目的查询(购买时没有反对卖出或维护)?以及如何获得匹配的? (假设列表会更大,而且数量变化更大)

我的想法是从匹配数量的购买产品中减去销售和减去产品,以代表库存p& l和我仍然持有的库存中的无与伦比的条目。

返回:  匹配订单的2.57 - 2.50 = 0.07(即库存中的P& L)

和(不是同一个功能)

退货:3.00,1(剩余库存数量和价格)

我可以通过查询执行此操作,还是需要执行多次查询/操作?

试图找出我是否可以在QUERY行而不是for循环中获取功能...

public void findMatched() {
    Session session = sessionFactory.openSession();
    Transaction tx = null;
    StringBuilder obsbmsg;
    try {
        tx = session.beginTransaction();

        **Query query = session.createQuery("FROM Inventory");**
        List orders = query.list(); 
        int i;
        i=1;
        obsbmsg= new StringBuilder();
        boolean check = orders.iterator().hasNext();
        if (check) {
            for (Iterator iterator = orders.iterator(); iterator.hasNext();) {
                Orderbook obo = (Orderbook) iterator.next(); 

                // do stuff
            }
        } else {    
            System.out.println("No Entries in Table");

        }
        tx.commit();
    } catch (HibernateException e) {
        if (tx!=null) tx.rollback();
        e.printStackTrace(); 
    } finally {
        session.close(); 
    }
}

0 个答案:

没有答案