NetBeans, EJB, Glassfish, вопросы учебника по электронной коммерции - PullRequest
0 голосов
/ 03 апреля 2012

Я следовал учебному пособию по электронной коммерции, расположенному здесь: http://netbeans.org/kb/docs/javaee/ecommerce/intro.html

Код репо проекта здесь .

Я столкнулся с несколькими проблемамиЯ считаю, что они связаны:

1: Попытка просмотреть заказы клиентов на странице администратора приводит к:

**WARNING**: EJB5184:A system exception occurred during an invocation on EJB OrderManager, method: public java.util.Map session.OrderManager.getOrderDetails(int)

**WARNING**: javax.ejb.EJBTransactionRolledbackException

**WARNING**: EJB5184:A system exception occurred during an invocation on EJB OrderedproductFacade, method: public java.util.List session.OrderedproductFacade.findByOrderId(java.lang.Object)

**WARNING**: javax.ejb.TransactionRolledbackLocalException: Exception thrown from bean
Caused by: java.lang.IllegalArgumentException: You have attempted to set a parameter value using a name of customerOrderId that does not exist in the query string SELECT o FROM Orderedproduct o WHERE o.orderedproductPK.custOrderid = :custOrderid.

2: Попытка просмотреть детали для определенного заказа в админкестраница приводит к:

WARNING: StandardWrapperValve[AdminServlet]: PWC1406: Servlet.service() for servlet AdminServlet threw exception
Caused by: java.lang.IllegalArgumentException: You have attempted to set a parameter value using a name of customerOrderId that does not exist in the query string SELECT o FROM Orderedproduct o WHERE o.orderedproductPK.custOrderid = :custOrderid.

Обе проблемы имеют общий метод ' findByOrderId ', и я не знаю, что с ним не так.

нарушающий метод находится в следующем каталоге: src / jsf_crud / src / java / session / OrderedProductFacade.java

(я бы связал его как гиперссылку, но мне мешают меры по защите от спама)

Неуверены, что лучший курс действий, какие-либо рекомендации?

1 Ответ

0 голосов
/ 03 апреля 2012

Вашему запросу нужен параметр с именем "custOrderid", а не "customerOrderId"

Либо измените запрос, либо измените вызываемый параметр.

В запросе в классе OrderedProduct используется "customerOrderId"

http://netbeans.org/projects/samples/sources/samples-source-code/content/samples/javaee/AffableBean/src/java/entity/OrderedProduct.java

...