我正在使用Hibernate,有一个名为"User"的持久类.因为这是一个关键字,所以我用不同的名称标记了@Entity属性(例如,我看到了这个问题:

然而,我仍然遇到了麻烦,因为这个类扩展了另一个类,而且hibernate似乎仍在try 使用"user"作为列名,结果搞砸了:

@Entity( name = "XonamiUser" )
public class User extends PropertyContainer {
    ...

@MappedSuperclass
public abstract class PropertyContainer implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    protected long key;
    /** tags */
    @ElementCollection
    protected Set<String> tags;

    @ElementCollection
    protected Set<String> searchList;
    ...

我的其他扩展PropertyContainer的类似乎运行良好.

这是冬眠中的虫子吗?有没有办法解决重构的不足?谢谢

以下是我看到的错误(稍微清理):

WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: 42601
ERROR org.hibernate.util.JDBCExceptionReporter - Batch entry 0 insert into user_search_list (user, search_list) values ('1', 'bjorn') was aborted.  Call getNextException to see the cause.
WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: 42601
ERROR org.hibernate.util.JDBCExceptionReporter - ERROR: syntax error at or near "user"
  Position: 31

推荐答案

最后,我将类user重构为XonamiUser.这不是我想要的,但效果很好.

Postgresql相关问答推荐

尽管Jooq已经是uuid类型,Jooq仍会启用我的UID,为什么?

Pogresql性能中的枚举与文本数据类型

无法将 json 范围读取为 pgtype.Int4range

AWS RDS Postgres 性能缓慢的数据传输

PostgreSQL pg_dump 创建 sql 脚本,但它不是 sql 脚本:有没有办法让 pg_dump 创建标准的 sql 脚本?

JPA findBy 字段忽略大小写

Spring:如何在 PostgreSQL 中使用 KeyHolder

PostgreSQL - 我应该如何使用 first_value()?

PostgreSQL 返回准确或最接近查询日期的日期

使用 RPostgreSQL 进行 UTF-8 / Unicode 文本编码

如何在 Postgresql 中正确使用 FETCH FIRST?

Postgres 删除表语法错误

Select 中的 PostgreSQL 正则表达式捕获组

使用 pg_dump 和 psql -U postgres db_name < ... 移动数据库会导致ERROR: relation "table_name" does not exist

使用 Postgresql 数据库(OSX Lion)创建 Rails 3.1 应用程序

使用 Homebrew 安装 icu4c 版本 63

由于不支持身份验证类型 10,无法连接到 Postgres DB

如何在不丢失openproject数据的情况下将postgresql数据库从10升级到12

在 Select (PostgreSQL/pgAdmin) 中将布尔值返回为 TRUE 或 FALSE

如何在postgres中将整数分钟转换为间隔