Skip to main content

[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


Back to the top