-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 
Author Message
 Post subject: Hibernate3 + Postgresql 8.0.4 Issue
PostPosted: Fri Dec 30, 2005 10:35 pm 
Newbie

Joined: Fri Dec 30, 2005 10:21 pm
Posts: 2
Hi,

I am writing a web app with the following technologies:

Java 1.4.2
Tomcat 5.0.28
JSF 1.1_01
Spring 1.2
Hibernate 3
PostGreSql 8.0.4

I'm having trouble retrieving items from a database table called TENANTS in the PUBLIC schema. Below are the details.

Hibernate version:
Hibernate 3

Mapping documents:
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
   <class name="com.dv.ocs.hibernate.Tenant" table="TENANTS">
      <id name="tenantId" column="TENANT_ID">
         <generator class="increment"/>
      </id>
      
      <property name="tenantName" column="TENANT_NAME" not-null="true" unique="true"/>
      <property name="tenantAddressLine1" column="TENANT_ADDR_LINE1" not-null="true" unique="false"/>
      <property name="tenantAddressLine2" column="TENANT_ADDR_LINE2" not-null="false" unique="false"/>
      <property name="tenantAlias" column="TENANT_ALIAS" not-null="false" unique="true"/>
      <property name="tenantStateProvinceRegion" column="STATE_PROVINCE_REGION" not-null="true" unique="false"/>
      <property name="tenantPostalCode" column="POSTAL_CODE" not-null="true" unique="false"/>
      <property name="tenantCountry" column="COUNTRY" not-null="true" unique="false"/>
      <property name="tenantPhoneNumber" column="PHONE_NUMBER" not-null="true" unique="false"/>
      <property name="tenantFaxNumber" column="FAX_NUMBER" not-null="false" unique="false"/>
      <property name="tenantCity" column="CITY" not-null="true" unique="false"/>      
   </class>
</hibernate-mapping>


Code between sessionFactory.openSession() and session.close():
This is managed by Spring. Below is my applicationConfig.xml file for Spring
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
   <!-- Datasource definition -->
   <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
      <property name="jndiName">
         <value>java:comp/env/jdbc/ocs_dev1</value>
      </property>
   </bean>
   
   <!--  Hibernate SessionFactory Configuration -->
   <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
      <property name="dataSource">
         <ref local="dataSource"/>
      </property>
      
      <!--  Hibernate Mapping Files -->
      <property name="mappingResources">
         <list>
            <value>com/dv/ocs/hibernate/Tenant.hbm.xml</value>
            <value>com/dv/ocs/hibernate/User.hbm.xml</value>
         </list>
      </property>
      
      <!--  Hibernate Properties -->
      <property name="hibernateProperties">
         <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
            <prop key="hibernate.hbm2ddl.auto">validate</prop>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.format_sql">true</prop>
            <prop key="hibernate.default_schema">public</prop>
         </props>
      </property>   
   </bean>
   
   <!--  Hibernate Interceptor -->
   <bean id="hibernateInterceptor" class="org.springframework.orm.hibernate3.HibernateInterceptor">
      <property name="sessionFactory">
         <ref bean="sessionFactory"/>
      </property>
   </bean>
   
   <!--  Transaction Management -->
   <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
      <property name="sessionFactory">
         <ref local="sessionFactory"/>
      </property>
   </bean>
   
   <!--  Hibernate Beans -->
   <bean id="tenantDAO" class="com.dv.ocs.hibernate.dao.TenantDAOImpl">
      <property name="sessionFactory">
         <ref local="sessionFactory"/>
      </property>
   </bean>   
   
   <!-- JSF Handler Beans -->
   <bean id="tenantHandler" class="com.dv.ocs.jsf.handlers.TenantHandler">
      <property name="tenantDAO">
         <ref local="tenantDAO"/>
      </property>
   </bean>
</beans>


Full stack trace of any exception that occurs:
Code:
java.sql.SQLException: ERROR: relation "public.tenants" does not exist
   at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1482)
   at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1267)
   at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:186)
   at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:392)
   at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:330)
   at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:240)
   at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
   at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:120)
   at org.hibernate.loader.Loader.getResultSet(Loader.java:1272)
   at org.hibernate.loader.Loader.doQuery(Loader.java:391)
   at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:218)
   at org.hibernate.loader.Loader.doList(Loader.java:1593)
   at org.hibernate.loader.Loader.list(Loader.java:1577)
   at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:395)
   at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:271)
   at org.hibernate.impl.SessionImpl.list(SessionImpl.java:844)
   at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
   at org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:809)
   at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:358)
   at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:800)
   at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:792)
   at com.dv.ocs.hibernate.dao.TenantDAOImpl.getAllTenants(TenantDAOImpl.java:30)
   at com.dv.ocs.jsf.handlers.TenantHandler.getTenants(TenantHandler.java:45)
   at com.dv.ocs.jsf.bean.TenantsPageBean.getTenants(TenantsPageBean.java:119)
   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:324)
   at com.sun.faces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:79)
   at com.sun.faces.el.impl.ArraySuffix.evaluate(ArraySuffix.java:167)
   at com.sun.faces.el.impl.ComplexValue.evaluate(ComplexValue.java:151)
   at com.sun.faces.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:243)
   at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:173)
   at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:154)
   at javax.faces.component.UIData.getValue(UIData.java:527)
   at javax.faces.component.UIData.getDataModel(UIData.java:856)
   at javax.faces.component.UIData.setRowIndex(UIData.java:379)
   at com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:65)
   at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:683)
   at javax.faces.component.UIData.encodeBegin(UIData.java:681)
   at javax.faces.webapp.UIComponentTag.encodeBegin(UIComponentTag.java:591)
   at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:543)
   at com.sun.faces.taglib.html_basic.DataTableTag.doEndTag(DataTableTag.java:491)
   at org.apache.jsp.manager.tenants.tenants_jsp._jspx_meth_h_dataTable_0(tenants_jsp.java:1075)
   at org.apache.jsp.manager.tenants.tenants_jsp._jspx_meth_h_form_3(tenants_jsp.java:943)
   at org.apache.jsp.manager.tenants.tenants_jsp._jspService(tenants_jsp.java:404)
   at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
   at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
   at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704)
   at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474)
   at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)
   at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
   at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
   at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
   at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
   at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
   at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
   at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
   at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
   at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
   at java.lang.Thread.run(Thread.java:534)


Name and version of the database you are using:
Postgresql 8.0.4 running on Fedora Core 3 machine.

The generated SQL (show_sql=true):
Code:
select tenant0_.TENANT_ID as TENANT1_, tenant0_.TENANT_NAME as TENANT2_0_, tenant0_.TENANT_ADDR_LINE1 as TENANT3_0_, tenant0_.TENANT_ADDR_LINE2 as TENANT4_0_, tenant0_.TENANT_ALIAS as TENANT5_0_, tenant0_.STATE_PROVINCE_REGION as STATE6_0_, tenant0_.POSTAL_CODE as POSTAL7_0_, tenant0_.COUNTRY as COUNTRY0_, tenant0_.PHONE_NUMBER as PHONE9_0_, tenant0_.FAX_NUMBER as FAX10_0_, tenant0_.CITY as CITY0_ from public.TENANTS tenant0_>
Hibernate: select tenant0_.TENANT_ID as TENANT1_, tenant0_.TENANT_NAME as TENANT2_0_, tenant0_.TENANT_ADDR_LINE1 as TENANT3_0_, tenant0_.TENANT_ADDR_LINE2 as TENANT4_0_, tenant0_.TENANT_ALIAS as TENANT5_0_, tenant0_.STATE_PROVINCE_REGION as STATE6_0_, tenant0_.POSTAL_CODE as POSTAL7_0_, tenant0_.COUNTRY as COUNTRY0_, tenant0_.PHONE_NUMBER as PHONE9_0_, tenant0_.FAX_NUMBER as FAX10_0_, tenant0_.CITY as CITY0_ from public.TENANTS tenant0_


Debug level Hibernate log excerpt:
Code:
18:10:14,421 DEBUG [org.springframework.orm.hibernate3.SessionFactoryUtils] - <Opening Hibernate Session>
2005-12-30 18:10:14,562 DEBUG [org.hibernate.impl.SessionImpl] - <opened session at timestamp: 4653035579068416>
2005-12-30 18:10:14,609 DEBUG [org.hibernate.impl.SessionImpl] - <find: from Tenant>
2005-12-30 18:10:14,609 DEBUG [org.hibernate.engine.QueryParameters] - <named parameters: {}>
2005-12-30 18:10:14,906 DEBUG [org.hibernate.hql.ast.QueryTranslatorImpl] - <parse() - HQL: from com.dv.ocs.hibernate.Tenant>
2005-12-30 18:10:14,937 DEBUG [org.hibernate.hql.ast.AST] - <--- HQL AST ---
\-[QUERY] 'query'
    \-[SELECT_FROM] 'SELECT_FROM'
       \-[FROM] 'from'
          \-[RANGE] 'RANGE'
             \-[DOT] '.'
                +-[DOT] '.'
                |  +-[DOT] '.'
                |  |  +-[DOT] '.'
                |  |  |  +-[IDENT] 'com'
                |  |  |  \-[IDENT] 'dv'
                |  |  \-[IDENT] 'ocs'
                |  \-[IDENT] 'hibernate'
                \-[IDENT] 'Tenant'
>
2005-12-30 18:10:14,937 DEBUG [org.hibernate.hql.ast.ErrorCounter] - <throwQueryException() : no errors>
2005-12-30 18:10:15,125 DEBUG [org.hibernate.hql.antlr.HqlSqlBaseWalker] - <query() << begin, level = 1>
2005-12-30 18:10:15,234 DEBUG [org.hibernate.hql.ast.FromElement] - <FromClause{level=1} :  com.dv.ocs.hibernate.Tenant (no alias) -> tenant0_>
2005-12-30 18:10:15,234 DEBUG [org.hibernate.hql.antlr.HqlSqlBaseWalker] - <query() : finishing up , level = 1>
2005-12-30 18:10:15,234 DEBUG [org.hibernate.hql.ast.HqlSqlWalker] - <processQuery() :  ( SELECT ( FromClause{level=1} public.TENANTS tenant0_ ) )>
2005-12-30 18:10:15,265 DEBUG [org.hibernate.hql.ast.HqlSqlWalker] - <Derived SELECT clause created.>
2005-12-30 18:10:15,296 DEBUG [org.hibernate.hql.ast.JoinProcessor] - <Using FROM fragment [public.TENANTS tenant0_]>
2005-12-30 18:10:15,296 DEBUG [org.hibernate.hql.antlr.HqlSqlBaseWalker] - <query() >> end, level = 1>
2005-12-30 18:10:15,312 DEBUG [org.hibernate.hql.ast.AST] - <--- SQL AST ---
\-[SELECT] QueryNode: 'SELECT'  querySpaces (public.TENANTS)
    +-[SELECT_CLAUSE] SelectClause: '{derived select clause}'
    |  +-[SELECT_EXPR] SelectExpressionImpl: 'tenant0_.TENANT_ID as TENANT1_' {FromElement{explicit,not a collection join,not a fetch join,fetch non-lazy properties,classAlias=null,role=null,tableName=public.TENANTS,tableAlias=tenant0_,colums={,className=com.dv.ocs.hibernate.Tenant}}}
    |  \-[SQL_TOKEN] SqlFragment: 'tenant0_.TENANT_NAME as TENANT2_0_, tenant0_.TENANT_ADDR_LINE1 as TENANT3_0_, tenant0_.TENANT_ADDR_LINE2 as TENANT4_0_, tenant0_.TENANT_ALIAS as TENANT5_0_, tenant0_.STATE_PROVINCE_REGION as STATE6_0_, tenant0_.POSTAL_CODE as POSTAL7_0_, tenant0_.COUNTRY as COUNTRY0_, tenant0_.PHONE_NUMBER as PHONE9_0_, tenant0_.FAX_NUMBER as FAX10_0_, tenant0_.CITY as CITY0_'
    \-[FROM] FromClause: 'from' FromClause{level=1, fromElementCounter=1, fromElements=1, fromElementByClassAlias=[], fromElementByTableAlias=[tenant0_], fromElementsByPath=[], collectionJoinFromElementsByPath=[], impliedElements=[]}
       \-[FROM_FRAGMENT] FromElement: 'public.TENANTS tenant0_' FromElement{explicit,not a collection join,not a fetch join,fetch non-lazy properties,classAlias=null,role=null,tableName=public.TENANTS,tableAlias=tenant0_,colums={,className=com.dv.ocs.hibernate.Tenant}}
>
2005-12-30 18:10:15,312 DEBUG [org.hibernate.hql.ast.ErrorCounter] - <throwQueryException() : no errors>
2005-12-30 18:10:15,375 DEBUG [org.hibernate.hql.ast.QueryTranslatorImpl] - <HQL: from com.dv.ocs.hibernate.Tenant>
2005-12-30 18:10:15,375 DEBUG [org.hibernate.hql.ast.QueryTranslatorImpl] - <SQL: select tenant0_.TENANT_ID as TENANT1_, tenant0_.TENANT_NAME as TENANT2_0_, tenant0_.TENANT_ADDR_LINE1 as TENANT3_0_, tenant0_.TENANT_ADDR_LINE2 as TENANT4_0_, tenant0_.TENANT_ALIAS as TENANT5_0_, tenant0_.STATE_PROVINCE_REGION as STATE6_0_, tenant0_.POSTAL_CODE as POSTAL7_0_, tenant0_.COUNTRY as COUNTRY0_, tenant0_.PHONE_NUMBER as PHONE9_0_, tenant0_.FAX_NUMBER as FAX10_0_, tenant0_.CITY as CITY0_ from public.TENANTS tenant0_>
2005-12-30 18:10:15,375 DEBUG [org.hibernate.hql.ast.ErrorCounter] - <throwQueryException() : no errors>
2005-12-30 18:10:15,406 DEBUG [org.hibernate.jdbc.AbstractBatcher] - <about to open PreparedStatement (open PreparedStatements: 0, globally: 0)>
2005-12-30 18:10:15,406 DEBUG [org.hibernate.jdbc.ConnectionManager] - <opening JDBC connection>
2005-12-30 18:10:15,406 DEBUG [org.hibernate.SQL] - <select tenant0_.TENANT_ID as TENANT1_, tenant0_.TENANT_NAME as TENANT2_0_, tenant0_.TENANT_ADDR_LINE1 as TENANT3_0_, tenant0_.TENANT_ADDR_LINE2 as TENANT4_0_, tenant0_.TENANT_ALIAS as TENANT5_0_, tenant0_.STATE_PROVINCE_REGION as STATE6_0_, tenant0_.POSTAL_CODE as POSTAL7_0_, tenant0_.COUNTRY as COUNTRY0_, tenant0_.PHONE_NUMBER as PHONE9_0_, tenant0_.FAX_NUMBER as FAX10_0_, tenant0_.CITY as CITY0_ from public.TENANTS tenant0_>
Hibernate: select tenant0_.TENANT_ID as TENANT1_, tenant0_.TENANT_NAME as TENANT2_0_, tenant0_.TENANT_ADDR_LINE1 as TENANT3_0_, tenant0_.TENANT_ADDR_LINE2 as TENANT4_0_, tenant0_.TENANT_ALIAS as TENANT5_0_, tenant0_.STATE_PROVINCE_REGION as STATE6_0_, tenant0_.POSTAL_CODE as POSTAL7_0_, tenant0_.COUNTRY as COUNTRY0_, tenant0_.PHONE_NUMBER as PHONE9_0_, tenant0_.FAX_NUMBER as FAX10_0_, tenant0_.CITY as CITY0_ from public.TENANTS tenant0_
2005-12-30 18:10:15,406 DEBUG [org.hibernate.jdbc.AbstractBatcher] - <preparing statement>
2005-12-30 18:10:15,562 DEBUG [org.hibernate.jdbc.AbstractBatcher] - <about to close PreparedStatement (open PreparedStatements: 1, globally: 1)>
2005-12-30 18:10:15,562 DEBUG [org.hibernate.jdbc.AbstractBatcher] - <closing statement>
2005-12-30 18:10:15,609 DEBUG [org.hibernate.util.JDBCExceptionReporter] - <could not execute query [select tenant0_.TENANT_ID as TENANT1_, tenant0_.TENANT_NAME as TENANT2_0_, tenant0_.TENANT_ADDR_LINE1 as TENANT3_0_, tenant0_.TENANT_ADDR_LINE2 as TENANT4_0_, tenant0_.TENANT_ALIAS as TENANT5_0_, tenant0_.STATE_PROVINCE_REGION as STATE6_0_, tenant0_.POSTAL_CODE as POSTAL7_0_, tenant0_.COUNTRY as COUNTRY0_, tenant0_.PHONE_NUMBER as PHONE9_0_, tenant0_.FAX_NUMBER as FAX10_0_, tenant0_.CITY as CITY0_ from public.TENANTS tenant0_]>
java.sql.SQLException: ERROR: relation "public.tenants" does not exist
   at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1482)
   at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1267)
   at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:186)
   at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:392)
   at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:330)
   at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:240)
   at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
   at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:120)
   at org.hibernate.loader.Loader.getResultSet(Loader.java:1272)
   at org.hibernate.loader.Loader.doQuery(Loader.java:391)
   at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:218)
   at org.hibernate.loader.Loader.doList(Loader.java:1593)
   at org.hibernate.loader.Loader.list(Loader.java:1577)
   at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:395)
   at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:271)
   at org.hibernate.impl.SessionImpl.list(SessionImpl.java:844)
   at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
   at org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:809)
   at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:358)
   at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:800)
   at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:792)
   at com.dv.ocs.hibernate.dao.TenantDAOImpl.getAllTenants(TenantDAOImpl.java:30)
   at com.dv.ocs.jsf.handlers.TenantHandler.getTenants(TenantHandler.java:45)
   at com.dv.ocs.jsf.bean.TenantsPageBean.getTenants(TenantsPageBean.java:119)
   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:324)
   at com.sun.faces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:79)
   at com.sun.faces.el.impl.ArraySuffix.evaluate(ArraySuffix.java:167)
   at com.sun.faces.el.impl.ComplexValue.evaluate(ComplexValue.java:151)
   at com.sun.faces.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:243)
   at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:173)
   at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:154)
   at javax.faces.component.UIData.getValue(UIData.java:527)
   at javax.faces.component.UIData.getDataModel(UIData.java:856)
   at javax.faces.component.UIData.setRowIndex(UIData.java:379)
   at com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:65)
   at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:683)
   at javax.faces.component.UIData.encodeBegin(UIData.java:681)
   at javax.faces.webapp.UIComponentTag.encodeBegin(UIComponentTag.java:591)
   at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:543)
   at com.sun.faces.taglib.html_basic.DataTableTag.doEndTag(DataTableTag.java:491)
   at org.apache.jsp.manager.tenants.tenants_jsp._jspx_meth_h_dataTable_0(tenants_jsp.java:1075)
   at org.apache.jsp.manager.tenants.tenants_jsp._jspx_meth_h_form_3(tenants_jsp.java:943)
   at org.apache.jsp.manager.tenants.tenants_jsp._jspService(tenants_jsp.java:404)
   at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
   at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
   at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704)
   at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474)
   at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)
   at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
   at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
   at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
   at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
   at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
   at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
   at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
   at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
   at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
   at java.lang.Thread.run(Thread.java:534)
2005-12-30 18:10:15,625 WARN [org.hibernate.util.JDBCExceptionReporter] - <SQL Error: 0, SQLState: 42P01>
2005-12-30 18:10:15,625 ERROR [org.hibernate.util.JDBCExceptionReporter] - <ERROR: relation "public.tenants" does not exist>
2005-12-30 18:10:15,640 DEBUG [org.hibernate.jdbc.JDBCContext] - <after autocommit>
2005-12-30 18:10:15,640 DEBUG [org.hibernate.impl.SessionImpl] - <after transaction completion>
2005-12-30 18:10:15,640 DEBUG [org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator] - <Translating SQLException with SQLState '42P01' and errorCode '0' and message [ERROR: relation "public.tenants" does not exist]; SQL was [select tenant0_.TENANT_ID as TENANT1_, tenant0_.TENANT_NAME as TENANT2_0_, tenant0_.TENANT_ADDR_LINE1 as TENANT3_0_, tenant0_.TENANT_ADDR_LINE2 as TENANT4_0_, tenant0_.TENANT_ALIAS as TENANT5_0_, tenant0_.STATE_PROVINCE_REGION as STATE6_0_, tenant0_.POSTAL_CODE as POSTAL7_0_, tenant0_.COUNTRY as COUNTRY0_, tenant0_.PHONE_NUMBER as PHONE9_0_, tenant0_.FAX_NUMBER as FAX10_0_, tenant0_.CITY as CITY0_ from public.TENANTS tenant0_] for task [Hibernate operation: could not execute query]>
2005-12-30 18:10:15,640 DEBUG [org.springframework.orm.hibernate3.SessionFactoryUtils] - <Closing Hibernate Session>
2005-12-30 18:10:15,640 DEBUG [org.hibernate.impl.SessionImpl] - <closing session>
2005-12-30 18:10:15,640 DEBUG [org.hibernate.jdbc.ConnectionManager] - <closing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]>
2005-12-30 18:10:15,640 DEBUG [org.hibernate.jdbc.JDBCContext] - <after transaction completion>
2005-12-30 18:10:15,640 DEBUG [org.hibernate.impl.SessionImpl] - <after transaction completion>


Here is the DDL used to create the table, the Tenant, TenantDAO and TenantDAOImpl java classes used to access this table.

Tenants DDL
Code:
create table "public"."TENANTS"(
"tenant_id" int4 PRIMARY KEY not null,
"tenant_name" varchar(128) not null,
"tenant_addr_line1" varchar(64) not null,
"tenant_addr_line2" varchar(64),
"tenant_alias" varchar(64),
"state_province_region" varchar(128) not null,
"postal_code" varchar(32) not null,
"country" varchar(128) not null,
"phone_number" varchar(32) not null,
"fax_number" varchar(32),
"city" varchar(128) not null)


Code:
[b]Tenant.java[/b]
/**
    * Default no-args constructor
    */
   public Tenant() {}
   
   // PROPERTY: tenantAddressLine1
   public String getTenantAddressLine1() { return this.tenantAddressLine1; }
   public void setTenantAddressLine1(String tenantAddressLine1) { this.tenantAddressLine1 = tenantAddressLine1; }
   
   // PROPERTY: tenantAddressLine2
   public String getTenantAddressLine2() { return this.tenantAddressLine2; }
   public void setTenantAddressLine2(String tenantAddressLine2) { this.tenantAddressLine2 = tenantAddressLine2;}
   
   // PROPERTY: tenantAlias
   public String getTenantAlias() { return this.tenantAlias; }
   public void setTenantAlias(String tenantAlias) { this.tenantAlias = tenantAlias; }
   
   // PROPERTY: tenantCity
   public String getTenantCity() { return this.tenantCity; }   
   public void setTenantCity(String tenantCity) { this.tenantCity = tenantCity; }
   
   // PROPERTY: tenantCountry
   public String getTenantCountry() { return this.tenantCountry; }
   public void setTenantCountry(String tenantCountry) { this.tenantCountry = tenantCountry; }
   
   // PROPERTY: tenantFaxNumber
   public String getTenantFaxNumber() { return this.tenantFaxNumber; }
   public void setTenantFaxNumber(String tenantFaxNumber) { this.tenantFaxNumber = tenantFaxNumber; }   
   
   // PROPERTY: tenantId
   public Integer getTenantId() { return this.tenantId; }
   public void setTenantId(Integer tenantId) { this.tenantId = tenantId; }
   
   // PROPERTY: tenantName
   public String getTenantName() { return this.tenantName; }
   public void setTenantName(String tenantName) { this.tenantName = tenantName; }
   
   // PROPERTY: tenantPhoneNumber
   public String getTenantPhoneNumber() { return this.tenantPhoneNumber; }
   public void setTenantPhoneNumber(String tenantPhoneNumber) { this.tenantPhoneNumber = tenantPhoneNumber; }
   
   // PROPERTY: tenantPostalCode
   public String getTenantPostalCode() { return this.tenantPostalCode; }
   public void setTenantPostalCode(String tenantPostalCode) { this.tenantPostalCode = tenantPostalCode; }
   
   // PROPERTY: tenantStateProvinceRegion
   public String getTenantStateProvinceRegion() { return this.tenantStateProvinceRegion; }
   public void setTenantStateProvinceRegion(String tenantStateProvinceRegion) { this.tenantStateProvinceRegion = tenantStateProvinceRegion; }   
   
   // Persistent Properties
   protected Integer tenantId;
   protected String tenantName;
   protected String tenantAlias;
   protected String tenantAddressLine1;
   protected String tenantAddressLine2;
   protected String tenantCity;
   protected String tenantStateProvinceRegion;
   protected String tenantPostalCode;
   protected String tenantCountry;
   protected String tenantPhoneNumber;
   protected String tenantFaxNumber;

[b]TenantDAO.java[/b]
    public interface TenantDAO
    {
       /**
        * Will return a List containing all the Tenant objects in Persistent storage.
        * @return
        */
       public List getAllTenants();
       
       /**
        * Will return the Tenant object referenced by the tenantId parameter
        * @param tenantId
        * @return
        */
       public Tenant getTenant(Integer tenantId);
       
       /**
        * Will either add a new tenant if one doesn't exist, or update an existing one
        * @param tenant
        */
       public void saveTenant(Tenant tenant);
       
       /**
        * Will delete the tenant
        * @param tenantId
        */
       public void deleteTenant(Integer tenantId);
    }
     
[b]TenantDAOImpl.java[/b]
    public class TenantDAOImpl extends HibernateDaoSupport implements TenantDAO
    {
       /**
        * Will return a List containing all the Tenant objects in Persistent storage.
        * @return
        */
       public List getAllTenants()
       {
          final String METHODNAME = "getAllTenants()";
          logger.info("Received request to retrieve all tenants.");      
          return getHibernateTemplate().find("from Tenant");
       }
       
       /**
        * Will return the Tenant object referenced by the tenantId parameter
        * @param tenantId
        * @return
        */
       public Tenant getTenant(Integer tenantId)
       {
          final String METHODNAME = "getTenant(tenantId)";
          logger.info("Received requst to retrieve the following tenant, tenant id = " + tenantId);
          Tenant tenant = (Tenant) getHibernateTemplate().get(Tenant.class, tenantId);
          if (tenant == null)
          {
             throw new ObjectRetrievalFailureException(Tenant.class, tenantId);
          }
          return tenant;
       }
     
       /**
        * Will either add a new tenant if one doesn't exist, or update an existing one
        * @param tenant
        */
       public void saveTenant(Tenant tenant)
       {
          final String METHODNAME = "saveTenant(tenant)";
          logger.info("Receive request to save or update a Tenant.");
          getHibernateTemplate().saveOrUpdate(tenant);
          logger.info("Saved or updated the Tenant. Tenant Id = " + tenant.getTenantId());
       }
     
       /**
        * Will delete the tenant
        * @param tenantId
        */
       public void deleteTenant(Integer tenantId)
       {
          final String METHODNAME = "deleteTenant(tenantId)";
          logger.info("Received request to delete a Tenant with the following Tenant Id = " + tenantId);
          Object tenant = getHibernateTemplate().load(Tenant.class, tenantId);
          getHibernateTemplate().delete(tenant);
          logger.info("Deleted tenant.");
       }
       
       // Private member variables
       private Log logger = LogFactory.getLog(this.getClass());
    }


Top
 Profile  
 
 Post subject:
PostPosted: Sat Dec 31, 2005 7:59 pm 
Hibernate Team
Hibernate Team

Joined: Tue Aug 26, 2003 7:19 pm
Posts: 2364
Location: Brisbane, Australia
This could be a Table name CASE issue. Postgres assumes [I think it is now configurable anyway the] tables etc are lower case (FYI - Oracle is Uppercase). Change your DDL table name to lower case and try again.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.