[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [eclipselink-users] Get specific entries from a Table using the "InheritanceType.SINGLE_TABLE-strategy" by using the DiscriminatorValue
|
Sorry for the late reply.
I decided to workaround the whole problem and thus dropped/stalled the whole data-storage-part till I'm finished with the other components of my application.
I'm not sure if i want to use my current implementation/setting of data-storage or i should move to another kind of that.
Best Regards,
Rick
2012/1/16 Christopher Delahunt
<christopher.delahunt@xxxxxxxxxx>
Your code is incorrect or has a problem in the getEmployeeByEmail method. In it, you are querying for a Person object using the Employee's email address and casting it to Person, and then using the ID from it later on to only find the employee. Since this query is on Person, it can and likely is returning you a Person or Person subclass - an instance that is not an Employee.
This is likely why when you search for the employee with that id isn't working. The Person object you are getting back is not necessarily the one you created in the previous step.
Your getEmployeeByEmail should not be creating an Employee using the Person instance returned. It needs to check that you are returning an instance of Employee, or that id is not an employee's id.
You might want to get the ID back from the employeeFacade.create method and use it directly.
Best Regards,
Chris
On 16/01/2012 10:43 AM, Rick van Son wrote:
I've tried that em.clear() method before quering. Unfortunately it
doesn't also do the trick.
This is the stacktrace:
INFO: [wicketFilter] destroy: Wicket core library initializer
INFO: [wicketFilter] destroy: Wicket extensions initializer
INFO:
file:/C:/Users/ForeyeT/Dropbox/AvansJ3/Stage/Code/URS_Wicket/target/URS_Wicket-1.0-SNAPSHOT/WEB-INF/classes/_com.foreyet_URS_Wicket
logout successful
INFO: RAR7094: __ds_jdbc_ra shutdown successful.
INFO: JMXStartupService: Stopped JMXConnectorServer: null
INFO: JMXStartupService and JMXConnectors have been shut down.
INFO: Shutdown procedure finished
Completed shutdown of Log manager service
INFO: [Thread[GlassFish Kernel Main Thread,5,main]] exiting
Listening for transport dt_socket at address: 9009
Launching GlassFish on Felix platform
16-jan-2012 14:30:19 com.sun.enterprise.server.logging.LogManagerService
postConstruct
WARNING: Record begin marker is not a proper value so using default.
16-jan-2012 14:30:19 com.sun.enterprise.server.logging.LogManagerService
postConstruct
WARNING: Record end marker is not a proper value so using default.
16-jan-2012 14:30:19 com.sun.enterprise.server.logging.LogManagerService
postConstruct
WARNING: Log Format field separator is not a character so using default.
INFO: Registered
org.glassfish.ha.store.adapter.cache.ShoalBackingStoreProxy for
persistence-type = replicated in BackingStoreFactoryRegistry
INFO: Grizzly Framework 1.9.36 started in: 98ms - bound to [0.0.0.0:8181
<http://0.0.0.0:8181>]
INFO: Grizzly Framework 1.9.36 started in: 85ms - bound to [0.0.0.0:4848
<http://0.0.0.0:4848>]
INFO: Grizzly Framework 1.9.36 started in: 69ms - bound to [0.0.0.0:3700
<http://0.0.0.0:3700>]
INFO: Grizzly Framework 1.9.36 started in: 54ms - bound to [0.0.0.0:7676
<http://0.0.0.0:7676>]
INFO: Grizzly Framework 1.9.36 started in: 136ms - bound to
[0.0.0.0:8080 <http://0.0.0.0:8080>]
INFO: The Admin Console is already installed, but not yet loaded.
INFO: SEC1002: Security Manager is OFF.
INFO: SEC1010: Entering Security Startup Service
INFO: SEC1143: Loading policy provider
com.sun.enterprise.security.provider.PolicyWrapper.
INFO: SEC1115: Realm [admin-realm] of classtype
[com.sun.enterprise.security.auth.realm.file.FileRealm] successfully
created.
INFO: SEC1115: Realm [file] of classtype
[com.sun.enterprise.security.auth.realm.file.FileRealm] successfully
created.
INFO: SEC1115: Realm [certificate] of classtype
[com.sun.enterprise.security.auth.realm.certificate.CertificateRealm]
successfully created.
INFO: SEC1011: Security Service(s) Started Successfully
INFO: WEB0169: Created HTTP listener [http-listener-1] on host/port
[0.0.0.0:8080 <http://0.0.0.0:8080>]
INFO: WEB0169: Created HTTP listener [http-listener-2] on host/port
[0.0.0.0:8181 <http://0.0.0.0:8181>]
INFO: WEB0169: Created HTTP listener [admin-listener] on host/port
[0.0.0.0:4848 <http://0.0.0.0:4848>]
INFO: WEB0171: Created virtual server [server]
INFO: WEB0171: Created virtual server [__asadmin]
INFO: WEB0172: Virtual server [server] loaded default web module []
INFO: Hibernate Validator 4.1.0.Final
INFO: Instantiated an instance of
org.hibernate.validator.engine.resolver.JPATraversableResolver.
INFO: registered listener interface [RequestListenerInterface
name=IRedirectListener, method=public abstract void
org.apache.wicket.IRedirectListener.onRedirect()]
INFO: registered listener interface [RequestListenerInterface
name=ILinkListener, method=public abstract void
org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()]
INFO: registered listener interface [RequestListenerInterface
name=IFormSubmitListener, method=public abstract void
org.apache.wicket.markup.html.form.IFormSubmitListener.onFormSubmitted()]
INFO: registered listener interface [RequestListenerInterface
name=IOnChangeListener, method=public abstract void
org.apache.wicket.markup.html.form.IOnChangeListener.onSelectionChanged()]
INFO: Portable JNDI names for EJB PersonFacade :
[java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/PersonFacade,
java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/PersonFacade!com.foreyet.urs_wicket.facade.PersonFacade]
INFO: Portable JNDI names for EJB CompanyContractFacade :
[java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/CompanyContractFacade,
java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/CompanyContractFacade!com.foreyet.urs_wicket.facade.CompanyContractFacade]
WARNING: Weaver encountered an exception while trying to weave class
com/foreyet/urs_wicket/domain/Employee. The exception was:
java.lang.RuntimeException: java.lang.ClassNotFoundException:
com.foreyet.urs_wicket.domain.Event not found by
org.eclipse.persistence.asm [251]
INFO: Portable JNDI names for EJB EmployeeFacade :
[java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/EmployeeFacade,
java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/EmployeeFacade!com.foreyet.urs_wicket.facade.EmployeeFacade]
INFO: Portable JNDI names for EJB EmployAgreementFacade :
[java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/EmployAgreementFacade!com.foreyet.urs_wicket.facade.EmployAgreementFacade,
java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/EmployAgreementFacade]
INFO: Portable JNDI names for EJB CustomerFacade :
[java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/CustomerFacade,
java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/CustomerFacade!com.foreyet.urs_wicket.facade.CustomerFacade]
INFO: Portable JNDI names for EJB EventFacade :
[java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/EventFacade,
java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/EventFacade!com.foreyet.urs_wicket.facade.EventFacade]
INFO: web.xml: url mapping found for filter with name wicketFilter: [/*]
INFO: [wicketFilter] init: Wicket core library initializer
INFO: registered listener interface [RequestListenerInterface
name=IBehaviorListener, method=public abstract void
org.apache.wicket.behavior.IBehaviorListener.onRequest()]
INFO: registered listener interface [RequestListenerInterface
name=IBehaviorListener, method=public abstract void
org.apache.wicket.behavior.IBehaviorListener.onRequest()]
INFO: registered listener interface [RequestListenerInterface
name=IFormSubmitListener, method=public abstract void
org.apache.wicket.markup.html.form.IFormSubmitListener.onFormSubmitted()]
INFO: registered listener interface [RequestListenerInterface
name=IFormSubmitListener, method=public abstract void
org.apache.wicket.markup.html.form.IFormSubmitListener.onFormSubmitted()]
INFO: registered listener interface [RequestListenerInterface
name=ILinkListener, method=public abstract void
org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()]
INFO: registered listener interface [RequestListenerInterface
name=ILinkListener, method=public abstract void
org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()]
INFO: registered listener interface [RequestListenerInterface
name=IOnChangeListener, method=public abstract void
org.apache.wicket.markup.html.form.IOnChangeListener.onSelectionChanged()]
INFO: registered listener interface [RequestListenerInterface
name=IOnChangeListener, method=public abstract void
org.apache.wicket.markup.html.form.IOnChangeListener.onSelectionChanged()]
INFO: registered listener interface [RequestListenerInterface
name=IRedirectListener, method=public abstract void
org.apache.wicket.IRedirectListener.onRedirect()]
INFO: registered listener interface [RequestListenerInterface
name=IRedirectListener, method=public abstract void
org.apache.wicket.IRedirectListener.onRedirect()]
INFO: registered listener interface [RequestListenerInterface
name=IResourceListener, method=public abstract void
org.apache.wicket.IResourceListener.onResourceRequested()]
INFO: registered listener interface [RequestListenerInterface
name=IResourceListener, method=public abstract void
org.apache.wicket.IResourceListener.onResourceRequested()]
INFO: [wicketFilter] init: Wicket extensions initializer
INFO: [wicketFilter] Started Wicket version 1.5.3 in DEVELOPMENT mode
SEVERE: ********************************************************************
*** WARNING: Wicket is running in DEVELOPMENT mode. ***
*** ^^^^^^^^^^^ ***
*** Do NOT deploy to your live server(s) without changing this. ***
*** See Application#getConfigurationType() for more information. ***
********************************************************************
INFO: WEB0671: Loading application
[com.foreyet_URS_Wicket_war_1.0-SNAPSHOT] at [/URS_Wicket]
INFO: CORE10010: Loading application
com.foreyet_URS_Wicket_war_1.0-SNAPSHOT done in 11.744 ms
INFO: GlassFish Server Open Source Edition 3.1.1 (12) startup time :
Felix (2.684ms), startup services(12.748ms), total(15.432ms)
INFO: JMXStartupService: Started JMXConnector, JMXService URL ="">
service:jmx:rmi://ForeyeT-PC:8686/jndi/rmi://ForeyeT-PC:8686/jmxrmi
INFO: Instantiated an instance of
org.hibernate.validator.engine.resolver.JPATraversableResolver.
INFO: WEB0169: Created HTTP listener [http-listener-1] on host/port
[0.0.0.0:8080 <http://0.0.0.0:8080>]
INFO: Grizzly Framework 1.9.36 started in: 4ms - bound to [0.0.0.0:8080
<http://0.0.0.0:8080>]
INFO: [wicketFilter] destroy: Wicket core library initializer
INFO: [wicketFilter] destroy: Wicket extensions initializer
INFO: WEB0169: Created HTTP listener [http-listener-2] on host/port
[0.0.0.0:8181 <http://0.0.0.0:8181>]
INFO: Grizzly Framework 1.9.36 started in: 3ms - bound to [0.0.0.0:8181
<http://0.0.0.0:8181>]
INFO: registered listener interface [RequestListenerInterface
name=IRedirectListener, method=public abstract void
org.apache.wicket.IRedirectListener.onRedirect()]
INFO: registered listener interface [RequestListenerInterface
name=ILinkListener, method=public abstract void
org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()]
INFO: registered listener interface [RequestListenerInterface
name=IFormSubmitListener, method=public abstract void
org.apache.wicket.markup.html.form.IFormSubmitListener.onFormSubmitted()]
INFO: registered listener interface [RequestListenerInterface
name=IOnChangeListener, method=public abstract void
org.apache.wicket.markup.html.form.IOnChangeListener.onSelectionChanged()]
WARNING: Weaver encountered an exception while trying to weave class
com/foreyet/urs_wicket/domain/Employee. The exception was:
java.lang.RuntimeException: java.lang.ClassNotFoundException:
com.foreyet.urs_wicket.domain.Event not found by
org.eclipse.persistence.asm [251]
INFO: Instantiated an instance of
org.hibernate.validator.engine.resolver.JPATraversableResolver.
INFO: EclipseLink, version: Eclipse Persistence Services -
2.3.0.v20110604-r9504
INFO:
file:/C:/Users/ForeyeT/Dropbox/AvansJ3/Stage/Code/URS_Wicket/target/URS_Wicket-1.0-SNAPSHOT/WEB-INF/classes/_com.foreyet_URS_Wicket
login successful
WARNING: Multiple [2] JMX MBeanServer instances exist, we will use the
server at index [0] :
[com.sun.enterprise.v3.admin.DynamicInterceptor@777490ad].
WARNING: JMX MBeanServer in use:
[com.sun.enterprise.v3.admin.DynamicInterceptor@777490ad] from index [0]
WARNING: JMX MBeanServer in use:
[com.sun.jmx.mbeanserver.JmxMBeanServer@4f8bc5eb] from index [1]
WARNING: PER01000: Got SQLException executing statement "CREATE TABLE
SEQUENCE (SEQ_NAME VARCHAR(50) NOT NULL, SEQ_COUNT DECIMAL(38), PRIMARY
KEY (SEQ_NAME))": org.postgresql.util.PSQLException: ERROR: relation
"sequence" already exists
INFO: Portable JNDI names for EJB EmployeeFacade :
[java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/EmployeeFacade,
java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/EmployeeFacade!com.foreyet.urs_wicket.facade.EmployeeFacade]
INFO: Portable JNDI names for EJB CustomerFacade :
[java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/CustomerFacade,
java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/CustomerFacade!com.foreyet.urs_wicket.facade.CustomerFacade]
INFO: Portable JNDI names for EJB EventFacade :
[java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/EventFacade,
java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/EventFacade!com.foreyet.urs_wicket.facade.EventFacade]
INFO: Portable JNDI names for EJB PersonFacade :
[java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/PersonFacade,
java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/PersonFacade!com.foreyet.urs_wicket.facade.PersonFacade]
INFO: Portable JNDI names for EJB EmployAgreementFacade :
[java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/EmployAgreementFacade!com.foreyet.urs_wicket.facade.EmployAgreementFacade,
java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/EmployAgreementFacade]
INFO: Portable JNDI names for EJB CompanyContractFacade :
[java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/CompanyContractFacade,
java:global/com.foreyet_URS_Wicket_war_1.0-SNAPSHOT/CompanyContractFacade!com.foreyet.urs_wicket.facade.CompanyContractFacade]
INFO: web.xml: url mapping found for filter with name wicketFilter: [/*]
INFO: [wicketFilter] init: Wicket core library initializer
INFO: registered listener interface [RequestListenerInterface
name=IBehaviorListener, method=public abstract void
org.apache.wicket.behavior.IBehaviorListener.onRequest()]
INFO: registered listener interface [RequestListenerInterface
name=IBehaviorListener, method=public abstract void
org.apache.wicket.behavior.IBehaviorListener.onRequest()]
INFO: registered listener interface [RequestListenerInterface
name=IFormSubmitListener, method=public abstract void
org.apache.wicket.markup.html.form.IFormSubmitListener.onFormSubmitted()]
INFO: registered listener interface [RequestListenerInterface
name=IFormSubmitListener, method=public abstract void
org.apache.wicket.markup.html.form.IFormSubmitListener.onFormSubmitted()]
INFO: registered listener interface [RequestListenerInterface
name=ILinkListener, method=public abstract void
org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()]
INFO: registered listener interface [RequestListenerInterface
name=ILinkListener, method=public abstract void
org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()]
INFO: registered listener interface [RequestListenerInterface
name=IOnChangeListener, method=public abstract void
org.apache.wicket.markup.html.form.IOnChangeListener.onSelectionChanged()]
INFO: registered listener interface [RequestListenerInterface
name=IOnChangeListener, method=public abstract void
org.apache.wicket.markup.html.form.IOnChangeListener.onSelectionChanged()]
INFO: registered listener interface [RequestListenerInterface
name=IRedirectListener, method=public abstract void
org.apache.wicket.IRedirectListener.onRedirect()]
INFO: registered listener interface [RequestListenerInterface
name=IRedirectListener, method=public abstract void
org.apache.wicket.IRedirectListener.onRedirect()]
INFO: registered listener interface [RequestListenerInterface
name=IResourceListener, method=public abstract void
org.apache.wicket.IResourceListener.onResourceRequested()]
INFO: registered listener interface [RequestListenerInterface
name=IResourceListener, method=public abstract void
org.apache.wicket.IResourceListener.onResourceRequested()]
INFO: [wicketFilter] init: Wicket extensions initializer
INFO: [wicketFilter] Started Wicket version 1.5.3 in DEVELOPMENT mode
SEVERE: ********************************************************************
*** WARNING: Wicket is running in DEVELOPMENT mode. ***
*** ^^^^^^^^^^^ ***
*** Do NOT deploy to your live server(s) without changing this. ***
*** See Application#getConfigurationType() for more information. ***
********************************************************************
INFO: WEB0671: Loading application
[com.foreyet_URS_Wicket_war_1.0-SNAPSHOT] at [/URS_Wicket]
WARNING: A system exception occurred during an invocation on EJB
EmployeeFacade method public com.foreyet.urs_wicket.domain.Employee
com.foreyet.urs_wicket.facade.EmployeeFacade.getEmployeeById(int)
javax.ejb.EJBException
at
com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:5193)
at
com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:5091)
at
com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4879)
at
com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2039)
at
com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1990)
at
com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:222)
at
com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
at $Proxy140.getEmployeeById(Unknown Source)
at
com.foreyet.urs_wicket.facade.__EJB31_Generated__EmployeeFacade__Intf____Bean__.getEmployeeById(Unknown
Source)
at
WICKET_com.foreyet.urs_wicket.facade.EmployeeFacade$$FastClassByCGLIB$$37a09e8f.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
at
org.apache.wicket.proxy.LazyInitProxyFactory$CGLibInterceptor.intercept(LazyInitProxyFactory.java:318)
at
WICKET_com.foreyet.urs_wicket.facade.EmployeeFacade$$EnhancerByCGLIB$$a924fa73.getEmployeeById(<generated>)
at
com.foreyet.urs_wicket.web.tests.EmployeeFacadeTestPage.<init>(EmployeeFacadeTestPage.java:96)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:177)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:68)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:47)
at
org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:103)
at
org.apache.wicket.request.handler.PageProvider.resolvePageInstance(PageProvider.java:264)
at
org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:165)
at
org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
at
org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:105)
at
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:224)
at
org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:167)
at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:750)
at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
at
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:252)
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:209)
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:280)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
at
com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
at
org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at
com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)
at
com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)
at
com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
at
com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at
com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at
com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at
com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at
com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at
com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:662)
Caused by: javax.persistence.NoResultException: getSingleResult() did
not retrieve any entities.
at
org.eclipse.persistence.internal.jpa.EJBQueryImpl.throwNoResultException(EJBQueryImpl.java:1310)
at
org.eclipse.persistence.internal.jpa.EJBQueryImpl.getSingleResult(EJBQueryImpl.java:787)
at
com.foreyet.urs_wicket.facade.EmployeeFacade.getEmployeeById(EmployeeFacade.java:68)
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
org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052)
at
org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124)
at
com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:5366)
at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:619)
at
com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:800)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:571)
at
com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doAround(SystemInterceptorProxy.java:162)
at
com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:144)
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
com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:861)
at
com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:800)
at
com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:370)
at
com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5338)
at
com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5326)
at
com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:214)
... 55 more
SEVERE: javax.ejb.EJBException
at
com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:5193)
at
com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:5091)
at
com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4879)
at
com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2039)
at
com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1990)
at
com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:222)
at
com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
at $Proxy140.getEmployeeById(Unknown Source)
at
com.foreyet.urs_wicket.facade.__EJB31_Generated__EmployeeFacade__Intf____Bean__.getEmployeeById(Unknown
Source)
at
WICKET_com.foreyet.urs_wicket.facade.EmployeeFacade$$FastClassByCGLIB$$37a09e8f.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
at
org.apache.wicket.proxy.LazyInitProxyFactory$CGLibInterceptor.intercept(LazyInitProxyFactory.java:318)
at
WICKET_com.foreyet.urs_wicket.facade.EmployeeFacade$$EnhancerByCGLIB$$a924fa73.getEmployeeById(<generated>)
at
com.foreyet.urs_wicket.web.tests.EmployeeFacadeTestPage.<init>(EmployeeFacadeTestPage.java:96)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:177)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:68)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:47)
at
org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:103)
at
org.apache.wicket.request.handler.PageProvider.resolvePageInstance(PageProvider.java:264)
at
org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:165)
at
org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
at
org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:105)
at
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:224)
at
org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:167)
at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:750)
at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
at
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:252)
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:209)
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:280)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
at
com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
at
org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at
com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)
at
com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)
at
com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
at
com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at
com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at
com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at
com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at
com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at
com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:662)
Caused by: javax.persistence.NoResultException: getSingleResult() did
not retrieve any entities.
at
org.eclipse.persistence.internal.jpa.EJBQueryImpl.throwNoResultException(EJBQueryImpl.java:1310)
at
org.eclipse.persistence.internal.jpa.EJBQueryImpl.getSingleResult(EJBQueryImpl.java:787)
at
com.foreyet.urs_wicket.facade.EmployeeFacade.getEmployeeById(EmployeeFacade.java:68)
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
org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052)
at
org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124)
at
com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:5366)
at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:619)
at
com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:800)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:571)
at
com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doAround(SystemInterceptorProxy.java:162)
at
com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:144)
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
com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:861)
at
com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:800)
at
com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:370)
at
com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5338)
at
com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5326)
at
com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:214)
... 55 more
===
At the first sight, it looks like there is no result given, but when you
check the code:
==== A test page: ===
try {
EmployAgreement ea = new EmployAgreement("Foreyet
EmployAgreement", 208, NORMAL_WORKING_TIMES_EA,
STANDBY_WORKING_TIMES_EA, OVER_WORKING_TIMES_EA, new BigDecimal(250));
this.employeeFacade.create(new Employee("Mister", "Tester",
"mister@xxxxxxxxxx <mailto:mister@xxxxxxxxxx>", ea));
Employee employee =
this.employeeFacade.getEmployeeByEmail("mister@tester.com
<mailto:mister@xxxxxxxxxx>");
this.message = "Succeed to get Employee by email: " +
employee.getFirstName() + " " + employee.
getSurName();
employee =
this.employeeFacade.getEmployeeById(employee.getId());
int employAgreementId = employee.getEmployAgreement().getId();
this.message += "<br /><br /> ### <br /><br />";
this.message += "Succeed to get Employee by id: " +
employee.getFirstName() + " " + employee.
getSurName();
this.message += "<br />Emloyee positions: " +
employee.getPositions();
this.employeeFacade.remove(employee);
EmployAgreement employAgreementById =
employAgreementFacade.getEmployAgreementById(employAgreementId);
if (employAgreementById != null) {
throw new RuntimeException("Employee Agreement Not
Removed when removing Employee while it is a one to one relationship");
}
this.employAgreementFacade.remove( ea );
} catch (ConstraintViolationException e) {
error("Test failed: " + e.getMessage());
for (ConstraintViolation cv : e.getConstraintViolations()) {
log.error("Validation fault: " + cv.getMessage() + ",
invalid value: " + cv.
getInvalidValue());
}
} catch (Exception ex) {
error("Test failed: " + ex.getMessage());
ex.printStackTrace();
}
==== EmployeeFacade ===
public Employee getEmployeeById(int employeeId) {
em.clear();
Employee employee = (Employee) em.createQuery("SELECT
OBJECT(Employee) FROM Employee employee WHERE employee.id
<http://employee.id> = :employeeId").
setParameter("employeeId", employeeId).getSingleResult();
return employee;
}
public Employee getEmployeeByEmail(String employeeEmail) {
em.clear();
Person person = this.personFacade.getPersonByEmail(employeeEmail);
//// if ( this.personFacade.getEntityManager().isOpen() ){
//// this.personFacade.getEntityManager().flush();
//// }
// em.clear();
// Employee employee = (Employee) em.createQuery("SELECT
OBJECT(Employee) FROM Employee employee WHERE employee.emailAddress LIKE
:employeeEmail").
// setParameter("employeeEmail",
employeeEmail).getSingleResult();
em.clear();
CriteriaQuery cq = getEntityManager().getCriteriaBuilder().
createQuery();
Root from = cq.from(Employee.class);
Predicate predicate =
getEntityManager().getCriteriaBuilder().like(from.get("emailAddress"),
employeeEmail);
cq.where(predicate);
Query q = getEntityManager().createQuery(cq);
Employee employee = (Employee) q.getSingleResult();
em.clear();
EmployAgreement ea =
this.employAgreementFacade.getEmployAgreementById(employee.
getEmployAgreement().getId());
employee = new Employee(person.getFirstName(),
person.getSurName(), person.getEmailAddress(), ea);
return employee;
}
public int getEmployAgreementIdOfEmployeeById(int employeeId) {
int returned = 0;
em.clear();
returned = Integer.parseInt((String) em.createQuery("SELECT
INTEGER employee.employagreement_id FROM Employee employee WHERE
employee.id <http://employee.id> = :employeeId").
setParameter("employeeId", employeeId).getSingleResult());
return returned;
}
=== PersonFacade.java ===
public Person getPersonByEmail(String personEmail) {
try {
return (Person) em
.createQuery("SELECT OBJECT(Person) FROM Person person
WHERE person.emailAddress = :personEmail")
.setParameter("personEmail",
personEmail).getSingleResult();
} catch (NoResultException e) {
log.warn("Person could not be found");
} catch (Exception e) {
log.warn("Could not get PersonByMail", e);
}
return null;
}
==== EmployAgreementFacade.java ===
public EmployAgreement getEmployAgreementById( int employAgreementId )
{
if( this.count() != 0 )
{
EmployAgreement employAgreement = ( EmployAgreement )
em.createQuery( "SELECT OBJECT(employagreement) FROM EmployAgreement
employagreement WHERE employagreement.id <http://employagreement.id> =
:employAgreementId" ).setParameter( "employAgreementId",
employAgreementId ).getSingleResult();
return employAgreement;
}
return null;
}
====
You'll see that getEmployeeByEmail() at EmployeeFacade is the wrongdoer,
but as you could see, i tried several ways to get the employee, both
give the same faulty results....
2012/1/13 Christopher Delahunt <christopher.delahunt@oracle.com
<mailto:christopher.delahunt@oracle.com>>
There is more going wrong here than just a problem with the query.
The exception states it is coming from an preUpdate event,
probably because you have validation configured somehow, and are
making updates that are not conforming. Your query mode might be
causing a flush to occur before the query can execute, so you might
want to call em.clear before the query to clear out any corrupted
entities that could be causing this exception.
If this isn't the case, please give the exception stack trace.
Best Regards,
Chris
On 13/01/2012 11:23 AM, Rick van Son wrote:
Thanks for your reply.
I've tried those solutions, however every time I get a this useless
exception which even ignores try-catch( Exception ex ):
"javax.validation.__ConstraintViolationException: Bean Validation
constraint(s) violated while executing Automatic Bean Validation on
callback event:'preUpdate'. Please refer to embedded
ConstraintViolations for details."
After debugging, It seems that I'm supposed to get a Employee
object,
however, the variable properties which the Employee class
inherits from
Person are kept null and don't get filled.
Why does this happen?
Best Regards,
Rick
---------
2012/1/11 Christopher Delahunt
<christopher.delahunt@oracle.__com
<mailto:christopher.delahunt@oracle.com>
<mailto:christopher.delahunt@__oracle.com
<mailto:christopher.delahunt@oracle.com>>>
Tom is correct, but in your example you would want either:
"Select p from Person p where TYPE(p) = Employee"
Or you can just select the Employee subclass:
"Select e from Employee e"
Both queries will return Employees, but the second will also
return
Employee subclasses if there are any.
JPQL is object based and dtype is not an attribute in the java
object, which is why it cannot be used within the query.
Best Regards,
Chris
On 11/01/2012 9:03 AM, Tom Ware wrote:
JPQL provides a TYPE operator.
Here is an example from the spec:
SELECT e
FROM Employee e
WHERE TYPE(e) IN (Exempt, Contractor)
On 11/01/2012 8:56 AM, Rick van Son wrote:
Hello everyone,
I've a class Person and a class Employee.
Employee is extended from the class Person.
Person has its own Table, using
"InheritanceType.SINGLE_TABLE" as
Inheritance
strategy.
Employee entries are thus also stored in the table
of Person.
However, I couldn't find the magic SELECT query for
EclipseLink to get
only the
Employee-entries from the table Person.
PostgreSQL finds "SELECT person.* FROM Person person
WHERE
person.dtype =
'Employee';" very delicious and gives me the right
results. But
EclipseLink is
less nice and doesn't want to see the
DiscriminatorColumn
"dtype" when
I do
"List<Employee> employees = (List<Employee>)
em.createQuery("SELECT
OBJECT(Employee) FROM Person person WHERE person.dtype =
'Employee';").getResultList();____".
Trying to cast 'Employee' to CHARACTER VARYING(31) in
various ways
didn't also work.
Does anyone have a suggestion to solve this?
Thanks in advance,
Rick
___________________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx <mailto:eclipselink-users@eclipse.org>
<mailto:eclipselink-users@__eclipse.org
<mailto:eclipselink-users@eclipse.org>>
https://dev.eclipse.org/____mailman/listinfo/eclipselink-____users
<https://dev.eclipse.org/__mailman/listinfo/eclipselink-__users>
<https://dev.eclipse.org/__mailman/listinfo/eclipselink-__users
<https://dev.eclipse.org/mailman/listinfo/eclipselink-users>>
___________________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
<mailto:eclipselink-users@eclipse.org>
<mailto:eclipselink-users@__eclipse.org
<mailto:eclipselink-users@eclipse.org>>
https://dev.eclipse.org/____mailman/listinfo/eclipselink-____users
<https://dev.eclipse.org/__mailman/listinfo/eclipselink-__users>
<https://dev.eclipse.org/__mailman/listinfo/eclipselink-__users
<https://dev.eclipse.org/mailman/listinfo/eclipselink-users>>
___________________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
<mailto:eclipselink-users@eclipse.org>
<mailto:eclipselink-users@__eclipse.org
<mailto:eclipselink-users@eclipse.org>>
https://dev.eclipse.org/____mailman/listinfo/eclipselink-____users
<https://dev.eclipse.org/__mailman/listinfo/eclipselink-__users>
<https://dev.eclipse.org/__mailman/listinfo/eclipselink-__users
<https://dev.eclipse.org/mailman/listinfo/eclipselink-users>>
_________________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx <mailto:eclipselink-users@eclipse.org>
https://dev.eclipse.org/__mailman/listinfo/eclipselink-__users
<https://dev.eclipse.org/mailman/listinfo/eclipselink-users>
_________________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx <mailto:eclipselink-users@eclipse.org>
https://dev.eclipse.org/__mailman/listinfo/eclipselink-__users
<https://dev.eclipse.org/mailman/listinfo/eclipselink-users>
_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-users
_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-users