2010-08-24 6 views
0

Я пишу административную часть приложения, которая отвечает за операции CRUD. Я решил для создания страниц JSF из JPA сущностей, но по какой-то причине, я получаю эту ошибку:Приложение и сущности JSF CRUD

org.apache.jasper.el.JspELException: /busStop/List.jsp(18,12) '#{busStop.pagingInfo.itemCount == 0}' Error reading 'pagingInfo' on type jsf.BusStopController 
    at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:107) 
    at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:190) 
    at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:416) 
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1607) 
    at javax.faces.render.Renderer.encodeChildren(Renderer.java:168) 
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:848) 
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1613) 
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616) 
    at com.sun.faces.application.view.JspViewHandlingStrategy.doRenderView(JspViewHandlingStrategy.java:420) 
    at com.sun.faces.application.view.JspViewHandlingStrategy.renderView(JspViewHandlingStrategy.java:209) 
    at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:126) 
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:127) 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
    at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859) 
    at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) 
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555) 
    at java.lang.Thread.run(Thread.java:619) 
Caused by: java.lang.IllegalArgumentException: The type [null] is not the expected [EntityType] for the key class [class jpa.entities.BusStop]. 
    at org.eclipse.persistence.internal.jpa.metamodel.MetamodelImpl.entity(MetamodelImpl.java:152) 
    at org.eclipse.persistence.internal.jpa.querydef.AbstractQueryImpl.from(AbstractQueryImpl.java:97) 
    at jpa.controllers.BusStopJpaController.getBusStopCount(BusStopJpaController.java:255) 
    at jsf.BusStopController.getPagingInfo(BusStopController.java:43) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at javax.el.BeanELResolver.getValue(BeanELResolver.java:62) 
    at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54) 
    at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72) 
    at org.apache.el.parser.AstValue.getValue(AstValue.java:123) 
    at org.apache.el.parser.AstEqual.getValue(AstEqual.java:37) 
    at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) 
    at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101) 

На данный момент весь код генерируется в Netbeans 6.9, с использованием JSF 1.2 или базы данных 2.0 и PostgreSQL 8.4 , Есть ли решение этой проблемы?

ответ

1

#{busStop.pagingInfo.itemCount == 0}
Error reading 'pagingInfo' on type jsf.BusStopController
The type [null] is not the expected [EntityType] for the key class [class jpa.entities.BusStop].

Обобщенная: #{busStop} является null. Убедитесь, что он находится в требуемом объеме.

+0

, но как это может быть пустым, если есть записи в базе данных? – sass

+1

Не знаю. Вы отправили только исключение, никакого кода. Я просто переводил исключение в более понятный вкус. Я сделаю съемку в темноте: объявлено, что она лениво взята, но ведь что-то не удалось? – BalusC

+0

Весь код был создан Netbeans - может ли генератор быть испорчен в 6.9? Я оставил параметр по умолчанию для загрузки данных, а не ленивую нагрузку. Однако теперь я не уверен, что это не ленивая загрузка. – sass

0

Рабочий стол для DI 101 и ошибка # 338837, чтобы исправить проблему IAE для пользователей Criteria/Metamodel, пытающихся использовать EntityType, который не найден, заключается в том, чтобы указать расположение классов (как правило, не требуется для сред Java EE) Эта среда будет существовать в Java SE, Spring и некоторых реализациях веб-профиля Java EE 6.

Исключение из потока "main" java.lang.IllegalArgumentException: Тип [null] не является ожидаемым [EntityType] для класса ключа [class org.eclipse.persistence.example.distributed.collatz.model.UnitOfWork] ,

http://wiki.eclipse.org/EclipseLink/Development/JPA_2.0/metamodel_api#DI_101:_20100218:_Descriptor.javaClass_is_null_on_a_container_EM_for_a_specific_case

временное решение

http://bugs.eclipse.org/338837

<exclude-unlisted-classes>false</exclude-unlisted-classes> 

или

<class>org.eclipse.persistence.example.distributed.collatz.model.UnitOfWork</class> 
Смежные вопросы