PSQLException: ERROR: relation "TABLE_NAME" does not exist

9 浏览
0 Comments

PSQLException: ERROR: relation "TABLE_NAME" does not exist

我试图在一个PostgreSQL 8.4.2数据库上运行Hibernate。每当我尝试运行一个简单的Java代码时,如:

List 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为PostgreSQL生成正确的SQL?

我在applicationContext.xml文件中设置了必要的PostgreSQL数据源:


  
 
 
  
  
  
  
  
 

在同一个文件中,我使用PostgreSQL方言设置了会话工厂:


 
  
  
   
    com.myPackage.dbEntities.domain.User
   
  
  
   
    org.hibernate.dialect.PostgreSQLDialect
    true
   
  
 
 
 
  
   
  
 

最后,我将域类映射到表的方式是:

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

有人遇到过类似的错误吗?非常感谢您在解决此问题方面的任何帮助。

请注意,此问题与帖子Cannot simply use PostgreSQL table name (”relation does not exist”)不同。

对于篇幅冗长的帖子,我表示抱歉。

0