Учебник по электронной коммерции NetBeans: ошибка при отправке заказа - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь изучить веб-разработку javaee. Я начал с того, что следовал [Учебное пособие по электронной коммерции NetBeans - интеграция транзакционной бизнес-логики] [1]. У меня возникла проблема, когда я нажимал кнопку Отправить заказ для ввода данных в базу данных., orderID никогда не обновляется, и поэтому я терплю неудачу.

Я использовал em.flush (), как объяснено:

Чтобы понять, почему метод order.getId возвращает ноль, рассмотрим, чтоКод на самом деле пытается достичь.Метод getId пытается получить идентификатор заказа, который в данный момент находится в процессе создания.Поскольку идентификатор является первичным ключом с автоинкрементом, база данных автоматически генерирует значение только при добавлении записи.Одним из способов преодоления этого является ручная синхронизация контекста персистентности с базой данных.Это может быть выполнено с помощью метода сброса EntityManager.

, но все равно я получаю значение ордера как 0.

private void addOrderedItems(CustomerOrder order, ShoppingCart cart) {

    em.flush();

    List<ShoppingCartItem> items = cart.getItems();

    // iterate through shopping cart and create OrderedProducts
    for (ShoppingCartItem scItem : items) {

        int productId = scItem.getProduct().getId();

        // set up primary key object
        OrderedProductPK orderedProductPK = new OrderedProductPK();
        orderedProductPK.setCustomerOrderId(order.getId());
        orderedProductPK.setProductId(productId);

        // create ordered item using PK object
        OrderedProduct orderedItem = new OrderedProduct(orderedProductPK);

        // set quantity
        orderedItem.setQuantity(scItem.getQuantity());

        em.persist(orderedItem);
    }
}

Проблема была исправлена.Я не дал значение для даты, которая не должна быть нулевой.Вот почему я не мог написать в базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...