0

我需要在现有数据库中创建一个新表以使用 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 test = new test();并添加所有需要的参数,例如test.setId((long)1);并执行它,我会得到一个ORA-00942: Table or View not found异常。

如果我在 SQL Developer 中创建一个示例行,insert into它可以正常工作。此外,如果我尝试通过@Autowired TestRepositorywith读取代码中的数据,我testRepository.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";

4

0 回答 0