java - Hibernate 是否需要实体中的列名才能工作?

标签 java entity-framework hibernate

在 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/

相关文章:

java - 将 Hibernate session 与 quartz 一起使用

java - 验证 XML 是否为 DOM 文档

java - 在 Android 上使用正则表达式验证字符串

hibernate - @Id 字段上的 @Convert

entity-framework - 没有配置文件的 Entity Framework 6?

具有不同名称的相同数据库表的 C# 匿名类型

java - 从表和连接表中选择部分列 Criteria API

java - 使用 JPQL 查询在 JPA 中进行查询组合、一对多关系

Javassist 工厂 - 设置自定义类加载器

c# - ViewModel 和单例模式