The database is case sensitive base on other requirements. (Not my decision.) However,
JBoss is changing the case on many names when the beans are deployed. We did not have
this problem until we upgraded from 4.0.5 to 4.2.2. Something in 4.2.2 is forcing names
to camel case. We are having to put @Table and @Column tags in all entities. After
tagging all of the methods the error goes away. It also camel cased some names in the
WSDL that are proper case in the bean.
Stack trace:
| 2009-01-10 14:31:43,637 ERROR [org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS] SOAP
request exception
| javax.ejb.EJBException: javax.persistence.PersistenceException:
org.hibernate.exception.SQLGrammarException: could not execute query
| at
org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:63)
| at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
| at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
| at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at
org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
| 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.remoting.ReplicantsManagerInterceptor.invoke(ReplicantsManagerInterceptor.java:51)
| at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at
org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
| at
org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
| at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at
org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
| 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.wsf.container.jboss42.InvocationHandlerEJB3.invoke(InvocationHandlerEJB3.java:103)
| at
org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:220)
| at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:408)
| at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:272)
| at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:189)
| at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:122)
| at org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
| at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
| at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
| at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
| at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
| at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
| at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
| at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
| at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
| at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
| at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
| at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
| at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: javax.persistence.PersistenceException:
org.hibernate.exception.SQLGrammarException: could not execute query
| at
org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:629)
| at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:73)
| at
globaltec.serveremailserverinterface.serveremailserverinterface.GetServerAddresses(serveremailserverinterface.java:59)
| 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.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
| at
org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
| at
org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
| at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at
org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
| at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at
org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
| at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
| ... 41 more
| Caused by: org.hibernate.exception.SQLGrammarException: could not execute query
| at
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
| at
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
| at org.hibernate.loader.Loader.doList(Loader.java:2223)
| at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
| at org.hibernate.loader.Loader.list(Loader.java:2099)
| at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
| at
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
| at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
| at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
| at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
| at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:64)
| ... 55 more
| Caused by: java.sql.SQLException: Invalid column name
'serverAddress_ServerAddress'.
| at
net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)
| at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2816)
| at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2254)
| at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:631)
| at
net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:477)
| at
net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:777)
| at
org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:236)
| at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
| at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
| at org.hibernate.loader.Loader.doQuery(Loader.java:674)
| at
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
| at org.hibernate.loader.Loader.doList(Loader.java:2220)
| ... 63 more
|
|
Bean Code
| @WebMethod ( operationName = "GetServerAddresses" )
| @WebResult ( name = "GetServerAddresses", targetNamespace =
GTNameSpace.g_NameSpace )
| public globaltec.serveremailserverinterface.ServerAddress[] GetServerAddresses()
| {
| Query query = manager.createQuery( "SELECT c from ServerAddress AS c"
);
| List<globaltec.serveremailserverinterface.ServerAddress> Items =
(List<globaltec.serveremailserverinterface.ServerAddress>)query.getResultList();
| ServerAddress[] ObjArray = new ServerAddress[ Items.size()];
| int Index = 0;
| for (Iterator it = Items.iterator(); it.hasNext(); )
| {
| ObjArray[Index] = (ServerAddress)it.next();
| ++Index;
| }
| return ObjArray;
| }
|
Entity Class:
| @XmlType(name="ServerAddress")
| @Table(name="dbo.ServerAddress")
| @Entity
| public class ServerAddress implements java.io.Serializable
| {
| private int ServerAddress;
| private String ServerAddress_ServerAddress;
| private int ServerAddress_Port;
| private String ServerAddress_Description;
|
| @Id
| @Column( name = "`ServerAddress`" )
| public int getServerAddress() {return ServerAddress;}
| public void setServerAddress( int Val ) {ServerAddress = Val;}
|
| public String getServerAddress_ServerAddress() {return
ServerAddress_ServerAddress;}
| public void setServerAddress_ServerAddress( String Val )
{ServerAddress_ServerAddress = Val;}
|
| public int getServerAddress_Port() {return ServerAddress_Port;}
| public void setServerAddress_Port( int Val ) {ServerAddress_Port = Val;}
|
| public String getServerAddress_Description() {return ServerAddress_Description;}
| public void setServerAddress_Description( String Val ) {ServerAddress_Description =
Val;}
| }
|
SQL For Table:
| CREATE TABLE [dbo].[ServerAddress](
| [ServerAddress] [int] IDENTITY(1,1) NOT NULL,
| [ServerAddress_ServerAddress] [varchar](256) COLLATE Latin1_General_CS_AI NOT NULL,
| [ServerAddress_Port] [int] NOT NULL,
| [ServerAddress_Description] [varchar](256) COLLATE Latin1_General_CS_AI NULL,
| [ServerAddress_ReturnPath] [varchar](512) COLLATE Latin1_General_CS_AI NOT NULL,
| CONSTRAINT [PK_ServerAddress] UNIQUE NONCLUSTERED
| (
| [ServerAddress] ASC
| )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
| ) ON [PRIMARY]
|
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4200796#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...