关于Oracle不敏感大小写导致ORM框架查询报错(个人记录)
2026/5/4 22:54:04 网站建设 项目流程

1.mysql与oracle有敏感大小写的区别

Oracle 默认会将未加引号的标识符(表名 / 字段名)转为大写,若需强制识别小写标识符,需给标识符添加双引号。

2.实体类启用@TableField(value = "PROJECT_NAME")

在使用QueryGenerator 过滤器时会出现问题:

  • 代码中@TableField(value = "PROJECT_NAME")注解的字段名被框架(如 QueryGenerator 过滤器、MyBatis 插件)错误解析,将大写的PROJECT_NAME按单个字母拆分并插入下划线;

实际结果 :

  • Oracle 报错ORA-00904: "PR_O_J_E_C_T__N_A_M_E": 标识符无效,因为数据库中实际字段是PROJECT_NAME(大写)/project_name(小写),不存在这个 “字母拆分” 的字段。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询