我的应用程序在Windows环境中运行良好,但是当我尝试在Linux服务器上进行测试时,生成的JPA EclipseLink sql出现了问题。
我以小写形式创建了所有表,但是当我查看日志时,看到的都是大写形式:

INSERT INTO PFC(ID, ALUMN,PROPOSED_ID) VALUES (?, ?, ?)

与其他这样的(序列)小写字母混合:
INSERT INTO buzonmensajes (mensajeid, buzonid) VALUES (?, ?)
        bind => [27, 1]

当然,一切都出错了,服务器找不到大写表,等等。

我们使用orm.xml定义所有数据库操作(查询,实体等)以及所有小写形式的内容...

我知道有一个Mysql参数可以更改这些行为,但是很遗憾,我不允许更改它。
我的问题是我需要告诉JPA创建所有查询,并使用小写的表名插入statmets

最佳答案

可能发生此问题,因为您允许EclipseLink缺省使用某些名称。如果使用数据库的大小写指定名称,则EclipseLink缺省应使用这些大小写。

如果发现不起作用,则可以始终使用带分隔符的标识符(使用'\“'模式:@Table("\"pfc\"")来强制区分大小写,但这不是必需的)。

您正在使用哪个版本的EclipseLink?

关于mysql - JPA,EclipseLink和区分大小写的mysql问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7392666/

10-11 03:38
查看更多