我正在使用Hibernate并拥有一个名为“用户”的持久类。由于这是一个关键词,我打上了不同的名称@Entity属性(我所看到的,例如,这个问题: Unable to use table named "user" in postgresql hibernate)错误:在“用户”处或附近出现语法错误
不过,我还是遇到了麻烦,因为这个类扩展了另一个,它看起来Hibernate等仍在尝试使用“用户”作为列名和获得搞砸:
@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
@TJ,我添加了错误,导致我相信它仍在使用列名。 – 2012-01-27 16:02:59