public int update(int oid, String quantity, String memo) { // 更新揀貨單的揀貨數量 logger.debug( "OrderPlaceDDAO.update: " + "pickId: " + oid + ", quantity: " + quantity + ", memo: " + memo); EntityManager em = XPersistence.getManager(); OrderPlaceD bean = em.find(OrderPlaceD.class, oid); logger.debug("OrderPlaceD.update: orderPlaceD: " + bean); if (bean != null) { // bean.setQuantity(quantity); bean.setRemark(memo); try { em.merge(bean); XPersistence.commit(); } catch (Exception e) { logger.error("OrderPlaceD.update: " + e); } return 1; // 1:成功 } return 0; // 0:失敗 }
private void createDeliveryType(int number, String description) { DeliveryType type = new DeliveryType(); type.setNumber(number); type.setDescription(description); XPersistence.getManager().persist(type); XPersistence.commit(); }
public boolean insert(OrderStoreD beanD) { XPersistence.getManager().persist(beanD); XPersistence .commit(); // 若 UUID 重複,會有例外: org.hibernate.PersistentObjectException: detached entity // passed to persist: com.kaijung.jpa.OrderStoreD // XHibernate.commit(); return true; }
public Stock getStockByItem(int itemid) { // 用 商品編號 查出 該商品所在的某一貨架 Query query = XPersistence.getManager() .createQuery( "FROM Stock o WHERE o.item.oid = :itemid order by o.volume desc"); // JPQL query query.setParameter("itemid", itemid); List<Stock> beans = query.getResultList(); logger.debug("OrderPlaceDDAO.getStockByItem beans: " + beans); return beans.get(0); }
public Collection<Stock> getStocksByPlaceId(int placeid) { // 用上架單編號(單頭)查出明細檔 Query query = XPersistence.getManager() .createQuery( "FROM Stock o WHERE o.item.oid IN (SELECT p.item.oid FROM OrderPlaceD p WHERE p.orderPlace.oid = :placeid ORDER BY p.oid DESC) )"); // JPQL query query.setParameter("placeid", placeid); // select * FROM Stock o WHERE o.itemid IN (SELECT p.itemid FROM OrderPlaceD p WHERE // p.orderPlace_oid = '1' ORDER BY p.oid DESC) Collection stocks = query.getResultList(); logger.debug("OrderPlaceDDAO.getStocksByPlaceId stocks: " + stocks); return stocks; }
public void testConverterWithMetaSets() throws Exception { // Creating new execute("CRUD.new"); setValue("invoice.year", "2002"); setValue("invoice.number", "1"); setValue("type.number", "1"); setValue("number", "66"); setValue("description", "JUNIT"); setValue("distance", usesAnnotatedPOJO() ? "1" : "2"); // National, in database 'N' execute("CRUD.save"); assertNoErrors(); assertValue("invoice.year", ""); assertValue("invoice.number", ""); assertValue("type.number", ""); assertValue("number", ""); assertValue("description", ""); assertValue("distance", usesAnnotatedPOJO() ? "" : "0"); // Search just created setValue("invoice.year", "2002"); setValue("invoice.number", "1"); setValue("type.number", "1"); setValue("number", "66"); execute("CRUD.refresh"); assertNoErrors(); assertValue("invoice.year", "2002"); assertValue("invoice.number", "1"); assertValue("type.number", "1"); assertValue("number", "66"); assertValue("description", "JUNIT"); assertValue("distance", usesAnnotatedPOJO() ? "1" : "2"); assertNoErrors(); // Verifying database value Query query = XPersistence.getManager() .createNativeQuery( "select d.distance from XAVATEST.Delivery as d where " + "invoice_year=2002 and invoice_number=1 and type=1 and number=66"); String distanceDB = (String) query.getSingleResult(); assertEquals("distance in database incorrect", "N", distanceDB); // Delete execute("CRUD.delete"); assertNoErrors(); assertMessage("Delivery deleted successfully"); }
public void testDeleteSelectedOnesAndOrderBy() throws Exception { // Creating new execute("CRUD.new"); setValue("invoice.year", "2009"); setValue("invoice.number", "1"); setValue("type.number", "1"); setValue("number", "1"); setValue("description", "JUNIT"); execute("CRUD.save"); assertNoErrors(); // To list mode and order execute("Mode.list"); assertActions(listActions); execute("List.orderBy", "property=invoice.year"); // ascending execute("List.orderBy", "property=invoice.year"); // descending assertNoErrors(); // Delete assertValueInList(0, "invoice.year", "2009"); assertValueInList(0, "invoice.number", "1"); assertValueInList(0, "type.number", "1"); assertValueInList(0, "number", "1"); checkRow(0); execute("CRUD.deleteSelected"); assertNoErrors(); assertRowUnchecked(0); // Verifying that it is deleted Query query = XPersistence.getManager() .createQuery( "from Delivery d where " + "d.invoice.year=2009 and d.invoice.number=1 and d.type.number=1 and d.number=1"); if (!query.getResultList().isEmpty()) { fail("Delivery would be deleted and it is not the case"); } }
private void deleteDeliveryType(int number) { DeliveryType type = XPersistence.getManager().find(DeliveryType.class, number); XPersistence.getManager().remove(type); XPersistence.commit(); }