我有一个查询,该查询从多个表返回数据。在应用程序中,这些表是一个又一个的类,例如,一个客户有多个Order,每个Order具有多个OrderDetails,每个OrderDetail具有多个Products,依此类推...但是我无法找出正确的构建方法应用程序中的整个对象,因为查询为每种产品返回一行(让我们说),所以我有一个客户一遍又一遍地重复购买的每种产品。
到目前为止,我已经尝试过这种效率极低的代码,并且有效,问题是,当应用程序检索到多个客户端时,该应用程序需要花费太多时间来处理所有这些信息。
boolean orderFound = false;
for (Order order1 : orders) {
if (order1 .getId() == order.getId()) {
orderFound = true;
if (od.getId() != 0) {
boolean odFound = false;
for (OrderDetail orderdetail : order1.getOrderDetail()) {
if (orderDetail.getId() == od.getId()) {
if (prod.getId() != 0) {
odFound = true;
boolean prodFound= false;
for (Product product: orderDetail.getProducts()) {
if (product.getId() == product.getId()) {
prodFound= true;
}
}
if (!prodFound) {
orderDetail.getProducts().add(dia);
}
}
if (!odFound) {
order1.getOrderDetail().add(od);
}
}
}
}
if (!orderFound) {
if (order.getId() != 0) {
orders.add(order);
这可行,但是必须有更好的方法,但我还没有找到。有人告诉我可以使用HashSets解决此问题,但我仍然不知道如何使用它们。任何帮助将不胜感激。
答案 0 :(得分:0)