Spring 启动 JDBC Oracle 数据库 - 找不到表或视图

问题描述

我需要在现有数据库中创建一个新表以使用 Spring Boot 保存数据。

我创建了表并授予特定用户所需的所有权限(插入、更新、删除、选择)。

在我的项目中,我创建了实体:

@Data
@Entity
@NoArgsConstructor
@Table(schema = "Schema-Name",name = "Name-Of-Table")
public class test{
@Id
@GeneratedValue(strategy = GenerationType.Identity)
private Long id;
}

测试库:

public interface TestRepository extends CrudRepository<Test,Long> {}

如果我尝试使用 Test test = new test(); 创建一个 Test 实例并添加所有需要的参数,例如 test.setId((long)1); 并执行它,我会收到一个 ORA-00942: Table or View not found 异常。

如果我在 sql Developer 中使用 insert into 创建一个示例行,它工作正常。此外,如果我尝试通过带有 @Autowired TestRepositorytestRepository.findById((long)1) 读取代码中的数据,我会收到正确的值。

为什么我不能“写入”表格?我能读,但我不会写。写入时显示“未找到表或视图”)。 当我查看表的当前“访问”时,我可以清楚地看到用户有权插入、更新、选择和删除

感谢您的帮助

编辑:

表的DDL

CREATE TABLE "SERVICE"."OTES_OE_TESTFALL" 
   (    "ID" NUMBER(19,0) DEFAULT "SERVICE"."OTES_OE_TESTFALL_SEQUENCE".nextval NOT NULL ENABLE,"TESTFALL_ID" NUMBER(19,0),"OE_JSON" CLOB,"EDCOM_ID" VARCHAR2(128 BYTE),PRIMARY KEY ("ID")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COmpuTE STATISTICS 
  STORAGE(INITIAL 65536 NEXT 1048576 mineXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "SERVICE_DATA"  ENABLE
   ) SEGMENT CREATION IMMEDIATE 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 mineXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "SERVICE_DATA"   NO INMEMORY 
 LOB ("OE_JSON") STORE AS SECUREFILE (
  TABLESPACE "SERVICE_DATA" ENABLE STORAGE IN ROW CHUNK 8192
  NOCACHE LOGGING  NOCOMPRESS  KEEP_DUPLICATES 
  STORAGE(INITIAL 106496 NEXT 1048576 mineXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) ;


  GRANT DELETE ON "SERVICE"."OTES_OE_TESTFALL" TO "SERVICE";
  GRANT INSERT ON "SERVICE"."OTES_OE_TESTFALL" TO "SERVICE";
  GRANT SELECT ON "SERVICE"."OTES_OE_TESTFALL" TO "SERVICE";
  GRANT SELECT ON "SERVICE"."OTES_OE_TESTFALL" TO "SERVICE_LESEN";
  GRANT UPDATE ON "SERVICE"."OTES_OE_TESTFALL" TO "SERVICE";

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)