我正在使用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();
}
}