在 Hibernate 中我不断收到错误:
ORA-00904: "TABLE_"."COLUMNNAME": invalid identifier
似乎只有当我有:
@Column(nullable=false)
private String bankID;
而不是例如:
@Column(name = "BANK_ID", nullable=false)
private String bankID;
是否有必要为我的实体中的每个字段提供列名称?
最佳答案
ORA-00904: "TABLE_"."COLUMNNAME": invalid identifier
实际上是一个oracle错误,你可以在这里查看其原因:ORA-00904: invalid identifier
问题可能是列的名称设置为“bankID”,正如上一个问题所说,从现在开始必须用双引号引用该列,我可能认为 bankID
是主/外键,hibernate 尝试在不使用双引号的情况下引用它,从而出现错误。
现在,当您编写 Column(name="BANK_ID",...
时,您将遵循上一个问题的建议:将所有字符都大写。
老实说,我不知道您是否可以认为这是一个 Hibernate 错误或意见(也许他们应该在文档中提及它),如果它已经作为错误提交并得到修复,那么升级将解决您的问题。
注意
以 ORA
开头的每个错误都可能是 Oracle 错误,您可以通过 google 搜索其后面的数字 (00904
),大部分都会得到答案。
关于java - Hibernate 是否需要实体中的列名才能工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37552412/