JPA连接oracle11遇到字符转义问题
涉及框架:springBOOT,JPA,druid,Hibernate,oracle
本地部署eladmin框架,原框架支持mysql数据库,现在根据需要换成oracle,数据迁移已经完成,但是在框架运行时遇到问题,JPA框架生成的sql语句是这样的:
“Hibernate: select …… from sys_quartz_job quartzjob0_ where quartzjob0_.is_pause=0”
oracle的sql语句不区分大小写,但需要在表名和字段名添加双引号,否则会报错,所以我在entity类的注释里添加了转义字符:
@Table(name = ""sys_quartz_job"")
@Column(name = ""is_pause"")
但添加之后,转义还是有问题:
“Hibernate: select …… from sys_quartz_job
quartzjob0_ where quartzjob0_.is_pause
=0”
转义字符“ " ”转义之后变成了“ ` ”,我对比了一下输入法,这符号不是中文也不是英文,感觉是字符编码问题,但这次我就不知道该去哪改了。
还有就是,并不是所有表的字段都有Entity属性对应,但sql语句里却仍然有可能使用,也就是说即使是在字符编码没问题的前提下,我就算修改了所有的@Column注释,大概也不能解决所有问题。
所以我想问一下,JPA连接 oracle配置中该怎么修改sql语句生成逻辑?或者说是不是我的配置有问题?JPA配置oracle驱动之后应该可以自动调整sql语句可是我这里没有生效?