| 
					
						 Development Environment: 
 Windows XP EN SP2
 JDK 1.5.0_12
 Netbeans 6.0M10
 Glassfish V2 RC1
 
 Hibernate version: 
 Hibernate-3.2.4.sp1
 Hibernate-annotations-3.3.0.GA
 Hibernate-entitymanager-3.3.1.GA
 
 
 Code between sessionFactory.openSession() and session.close():
 ...some code to persist a new Token object...
 Token example = new Token();
 example.setSn(1105920);
 List<Token> tokens = tokenDAOBean.findByExample(example);
 
 Full stack trace of any exception that occurs:
 Initializing Sun's JavaServer Faces implementation (1.2_04-b20-p03) for context '/WebApplication1'
 Hibernate: insert into Token (BIZ_MODEL, COMPANY_ID, EXP, FIRST_USE, TOKEN_KEY, SN, TOKEN_TYPE) values (?, ?, ?, ?, ?, ?, ?)
 EJB5018: An exception was thrown during an ejb invocation on [TokenDAOBean]
 javax.ejb.EJBException
         at com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:3869)
         at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3769)
         at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3571)
         at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1354)
         at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1316)
         at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:205)
         at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:127)
         at $Proxy70.findByExample(Unknown Source)
         at webapplication1.Page1.button2_action(Page1.java:271)
         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:585)
         at com.sun.el.parser.AstValue.invoke(AstValue.java:187)
         at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
         at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
         at com.sun.rave.web.ui.appbase.faces.ActionListenerImpl.processAction(ActionListenerImpl.java:69)
         at javax.faces.component.UICommand.broadcast(UICommand.java:383)
         at com.sun.webui.jsf.component.WebuiCommand.broadcast(WebuiCommand.java:160)
         at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)
         at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
         at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
         at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
         at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
         at com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.execute(PartialTraversalLifecycle.java:80)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
         at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
         at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:266)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
         at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
         at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
         at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:268)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:261)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:212)
         at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
         at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
 Caused by: java.lang.ClassCastException: com.sun.enterprise.util.EntityManagerWrapper         at com.passpod.services.dao.generic.GenericEJB3DAO.findByExample(GenericEJB3DAO.java:70)
         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:585)
         at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1067)
         at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:176)
         at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2895)
         at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3986)
         at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:197)
         ... 55 more
 
 
 Name and version of the database you are using:
 MySQL5.0.41-community-nt
 
 
 
 Hi all,
 
 I am trying to implement a DAO tier with hibernate and EJB3. I follow the template of CaveatEmptor example, version 20061211. I just copied the GenericDAO (an interface) and GenericEJB3DAO (an implementation) to my workspace.
 
 The insertion works fine, you can see the fist two lines of log. But when I try to call the findByExample method to retrieve the object, an exception was thrown from here ->
 
 @SuppressWarnings("unchecked")
     public List<T> findByExample(T exampleInstance, String... excludeProperty) {
         // Using Hibernate, more difficult with EntityManager and EJB-QL
         org.hibernate.Criteria crit = ((org.hibernate.ejb.HibernateEntityManager)getEntityManager())                             .getSession()                             .createCriteria(getEntityBeanType());
         org.hibernate.criterion.Example example =
                 org.hibernate.criterion.Example.create(exampleInstance);
         for (String exclude : excludeProperty) {
             example.excludeProperty(exclude);
         }
         crit.add(example);
         return crit.list();
     }
 
 It seems that the getEntityManager() method does not return a  org.hibernate.ejb.HibernateEntityManager object, but a com.sun.enterprise.util.EntityManagerWrapper object instead. Is that true? Any experiences on working glassfish with hibernate? Is that my code errors? or the glassfish just can't work with hibernate properly? I didn't like the embedded toplink JPA provider in glassfish...
 
 Please give me a hand. Thanks for all. 
					
  
						
					 |