PSQLException: ОШИБКА: отношение «TABLE_NAME» не существует

Я пытаюсь запустить hibernate на БД PostgreSQL 8.4.2. Всякий раз, когда я пытаюсь запустить простой код Java, как:

List<User> users = service.findAllUsers();

Я получаю следующую ошибку:

PSQLException: ERROR: relation "TABLE_NAME" does not exist

Поскольку для параметра hibernate.show_sql установлено значение true, я вижу, что hibernate пытается выполнить следующую команду SQL:

    select this_.USERNAME as USERNAME0_0_, this_.PASSWORD as PASSWORD0_0_ 
from "TABLE_NAME" this_

Когда на самом деле, он должен по крайней мере запустить что-то вроде:

    select this_."USERNAME" as USERNAME0_0_, this_."PASSWORD" as PASSWORD0_0_ 
from "SCHEMA_NAME"."TABLE_NAME" as this_

Кто-нибудь знает, какие изменения мне нужно внести в Hibernate для создания правильного SQL для PostgreSQL?

Я настроил необходимый источник данных postgreSQL в файле applicationContext.xml:

<!-- Use Spring annotations -->
 <context:annotation-config /> 
 <!-- postgreSQL datasource -->
 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
  destroy-method="close">
  <property name="driverClassName" value="org.postgresql.Driver" />
  <property name="url"
   value="jdbc:postgresql://localhost/DB_NAME:5432/SCHEMA_NAME" />
  <property name="username" value="postgres" />
  <property name="password" value="password" />
  <property name="defaultAutoCommit" value="false" />
 </bean>

В этом же файле я настроил фабрику сессий с диалектом PostgreSQL:

<!-- Hibernate session factory -->
 <bean id="sessionFactory"   class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
  <property name="dataSource" ref="dataSource" />
  <property name="annotatedClasses">
   <list>
    <value>com.myPackage.dbEntities.domain.User</value>
   </list>
  </property>
  <property name="hibernateProperties">
   <props>
    <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
    <prop key="hibernate.show_sql">true</prop>
   </props>
  </property>
 </bean>
 <!-- setup transaction manager -->
 <bean id="transactionManager"
  class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory">
   <ref bean="sessionFactory" />
  </property>
 </bean>

Наконец, я сопоставляю класс домена с таблицей:

    @Entity
@Table(name = "`TABLE_NAME`")
public class User {
@Id
@Column(name = "USERNAME")
private String username;

Кто-нибудь сталкивался с подобной ошибкой? Любая помощь в решении этого вопроса будет высоко ценится. Обратите внимание, что вопрос другой постНевозможно просто использовать имя таблицы PostgreSQL («отношение не существует»)

Извиняюсь за длинный пост.

Ответы на вопрос(2)

Ваш ответ на вопрос