java - ORA-00904: oracle 中的标识符无效错误
问题描述
这是 Employee.java
@Entity
@Table(name = "demo_member")
public class Employee implements Serializable {
@Id
@Column(name = "id")
private Long id;
@Column(name = "first_name")
private String firstName;
@Column(name = "last_name")
private String lastName;
@Column(name = "age")
private Integer age;
@Column(name = "Employee_DepartmentId")
private String EmployeeDepartmentId;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getEmployeeDepartmentId(){
return EmployeeDepartmentId;
}
public void setEmployeeDepartmentId(String employeeDepartmentId) {
this.EmployeeDepartmentId = employeeDepartmentId;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", firstName='" + firstName + '\'' +
", lastName='" + lastName + '\'' +
", age=" + age +'\''+
",EmployeeDepartmentId="+EmployeeDepartmentId+
'}';
}
}
和 SQL 代码片段:
create table demo_member1(
id number primary key ,
first_Name VARCHAR2(50),
last_Name varchar2(50),
age number,
Employee_DepartmentId varchar2(50)
);
我有oracle数据库连接。这是我得到的错误:
2020-07-18 12:25:02.138 ERROR 11610 --- [nio-8700-exec-1] o.h.engine.jdbc.spi.SqlExceptionHelper : ORA-00904: "EMPLOYEE0_"."EMPLOYEE_DEPARTMENT_ID": invalid identifier
2020-07-18 12:25:02.162 ERROR 11610 --- [nio-8700-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet] with root cause
oracle.jdbc.OracleDatabaseException: ORA-00904: "EMPLOYEE0_"."EMPLOYEE_DEPARTMENT_ID": invalid identifier
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:513) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:461) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1104) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:550) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:268) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:655) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:270) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:91) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:807) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:983) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3666) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4CPreparedStatement.executeInternal(T4CPreparedStatement.java:1426) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3713) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1167) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
请帮我解决这个问题。
解决方案
推荐阅读
- css - CSS - @media 屏幕和(最大宽度:---px)在 Firefox 移动设备上不起作用
- javascript - 如何在异步函数中实现 Promise 的结果?
- android - Android Studio - CMake 错误:CMake 无法找到与“Ninja”对应的构建程序。CMAKE_MAKE_PROGRAM 未设置
- node.js - 为每个用户 nodejs 渲染信息
- c# - Oracle Advanced Queue 的消息状态在使用 ODP.net 出队后未更新
- weka - 显示加权平均的问号。weka中的精度
- for-loop - 为什么循环范围内没有增量,其范围是循环的长度,即使长度在循环内增加?
- mongodb - Mongodb 按功能分组,提供意外数据
- pandas - 如何将 pandas.DataFrame 中的多个(所有)列直接堆叠在一个列中?
- java - Java 的速度几乎是 Rust 的两倍?!?我错过了什么?