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(小写),不存在这个 “字母拆分” 的字段。