public List<Clients> getFromProxy(List<Clients> proxy) { Disjunction or = Restrictions.disjunction(); for (Clients pr : proxy) { or.add(Restrictions.eq("id", pr.getId())); } return sessionFactory.getCurrentSession().createCriteria(Clients.class).add(or).list(); }
@Override public List<ContragentsInShipment> getParticipationInShipments(Long id) { org.hibernate.Session sess = sessionFactory.getCurrentSession(); sess.enableFetchProfile("clients-with-rolesShip"); Clients client = (Clients) sess.get(Clients.class, id); return client.getParticipantInShipments(); }
@Override public List<Requests> getRequestsFromClient(Long id) { org.hibernate.Session sess = sessionFactory.getCurrentSession(); sess.enableFetchProfile("clients-with-requests"); Clients client = (Clients) sess.get(Clients.class, id); return client.getRequests(); }
public List<Shipments> getShipmentsForClient(Long id) { org.hibernate.Session sess = sessionFactory.getCurrentSession(); sess.enableFetchProfile("clients-with-rolesShip"); sess.enableFetchProfile("clients-with-shipments"); Clients client = (Clients) sess.get(Clients.class, id); List<Shipments> returnList = new ArrayList<Shipments>(); List<ContragentsInShipment> shipList = client.getParticipantInShipments(); for (ContragentsInShipment con : shipList) { returnList.add(con.getShipment()); } return returnList; }
@Override public void addClient(Clients client) { List<Documents> temp = client.getDocuments(); List<Payments> temp2 = client.getPaymentsFromClient(); sessionFactory.getCurrentSession().save(client); // add links to documents if (temp != null && temp.size() != 0) { org.hibernate.Session sess = sessionFactory.getCurrentSession(); sess.enableFetchProfile("clients-with-documents"); temp = documentsDAO.getFromProxy(temp); for (Documents doc : temp) { doc.getClients().add(client); documentsDAO.changeDocument(doc); } } if (temp2 != null && temp2.size() != 0) { org.hibernate.Session sess = sessionFactory.getCurrentSession(); sess.enableFetchProfile("clients-with-payments"); temp2 = paymentsDAO.getFromProxy(temp2); for (Payments payment : temp2) { payment.setPayerOfPayment(client); paymentsDAO.changePayment(payment); } } if (client.getPaymentsToClient() != null) { org.hibernate.Session sess = sessionFactory.getCurrentSession(); sess.enableFetchProfile("clients-with-payments"); temp2 = paymentsDAO.getFromProxy(client.getPaymentsToClient()); for (Payments payment : temp2) { payment.setReceiverOfPayment(client); paymentsDAO.changePayment(payment); } } }