[jboss-user] [JBoss Seam] - Getting IllegalStateException: No data type for node:...
sjmenden
do-not-reply at jboss.com
Fri Jul 28 16:25:33 EDT 2006
I successfully got the seam registration example running. I took that example, changed a few classes so I could begin getting familiar with seam, but I can not get past this one exception:
| javax.faces.FacesException: Error calling action method of component with id _id0:_id7
| at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:74)
| at javax.faces.component.UICommand.broadcast(UICommand.java:106)
| at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:90)
| at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:164)
| at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:316)
| at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:106)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
| at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
| at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
| at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: javax.faces.el.EvaluationException: Exception while invoking expression #{sellcar.sell}
| at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:153)
| at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:63)
| ... 24 more
| Caused by: javax.ejb.EJBException: java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.tree.IdentNode
| \-[IDENT] IdentNode: 'car' {originalText=car}
|
| at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:69)
| at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
| at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:197)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:181)
| at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:79)
| at $Proxy78.sell(Unknown Source)
| 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 org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:129)
| ... 25 more
| Caused by: java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.tree.IdentNode
| \-[IDENT] IdentNode: 'car' {originalText=car}
|
| at org.hibernate.hql.ast.tree.SelectClause.initializeExplicitSelectClause(SelectClause.java:144)
| at org.hibernate.hql.ast.HqlSqlWalker.useSelectClause(HqlSqlWalker.java:714)
| at org.hibernate.hql.ast.HqlSqlWalker.processQuery(HqlSqlWalker.java:538)
| at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:645)
| at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
| at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
| at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:227)
| at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:159)
| at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:110)
| at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
| at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
| at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:71)
| ...
|
I mirrored the registration example almost exactly, here are the relevant files:
| @Entity
| @Name("car")
| @Scope(SESSION)
| @Table(name="cars")
| public class Car implements Serializable
| {
| private static final long serialVersionUID = 1881413500711441951L;
|
| private String vin;
| private String make;
| private String model;
| private Integer year;
|
| public Car(String vin, String make, String model, Integer year) {
| this.vin = vin;
| this.make = make;
| this.model = model;
| this.year = year;
| }
|
| public Car() {}
|
| @Id @NotNull
| public String getVin() {
| return vin;
| }
|
| public void setVin(String vin) {
| this.vin = vin;
| }
|
| public void setName(String vin) {
| this.vin = vin;
| }
|
| @NotNull
| public String getMake() {
| return make;
| }
|
| public void setMake(String make) {
| this.make = make;
| }
|
| @NotNull
| public String getModel() {
| return model;
| }
|
| public void setModel(String model) {
| this.model = model;
| }
|
| @NotNull
| public Integer getYear() {
| return year;
| }
|
| public void setYear(Integer year) {
| this.year = year;
| }
|
|
| public String toString()
| {
| return "Car(VIN: " + vin + " Make: " + make + " Model: " + model + " Year: " + year + ")";
| }
| }
|
|
| @Stateless
| @Name("sellcar")
| public class SellCarAction implements SellCar
| {
|
| @In @Valid
| private Car car;
|
| @PersistenceContext
| private EntityManager em;
|
| @Logger
| private Log log;
|
| public String sell() {
| List existing = em.createQuery("select car from Car where vin=:vin")
| .setParameter("vin", car.getVin())
| .getResultList();
| if (existing.size()==0) {
| em.persist(car);
| log.info("Sold car with vin #{car.vin}");
| return "/sold.jsp";
| }
| else {
| FacesMessages.instance().add("Car vin: #{car.vin} has already been sold");
| return null;
| }
| }
|
| }
|
| @Local
| public interface SellCar {
| public String sell();
| }
|
| <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
| <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
| <%@ taglib uri="http://jboss.com/products/seam/taglib" prefix="s" %>
| <html>
| <head>
| <title>Sell your Car</title>
| </head>
| <body>
| <f:view>
| <h:form>
| <table border="0">
| <s:validateAll>
| <tr>
| <td>VIN</td>
| <td><h:inputText value="#{car.vin}" required="true"/></td>
| </tr>
| <tr>
| <td>Make</td>
| <td><h:inputText value="#{car.make}" required="true"/></td>
| </tr>
| <tr>
| <td>Model</td>
| <td><h:inputText value="#{car.model}" required="true"/></td>
| </tr>
| <tr>
| <td>Year</td>
| <td><h:inputText value="#{car.year}" required="true"/></td>
| </tr>
| </s:validateAll>
| </table>
| <h:messages/>
| <h:commandButton type="submit" value="Sell Car" action="#{sellcar.sell}"/>
| </h:form>
| </f:view>
| </body>
| </html>
|
| <persistence>
| <persistence-unit name="carDatabase">
| <provider>org.hibernate.ejb.HibernatePersistence</provider>
| <jta-data-source>java:/DefaultDS</jta-data-source>
| <properties>
| <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
| </properties>
| </persistence-unit>
| </persistence>
|
Hibernate claims to be generating all of the schema, and there are no additional errors to report. Any help would be greatly appreciated.
Thanks.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3961631#3961631
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3961631
More information about the jboss-user
mailing list