【问题标题】:Problem with JPA, EclipseLink and case sensitive mysqlJPA、EclipseLink 和区分大小写的 mysql 的问题
【发布时间】:2011-11-15 14:23:24
【问题描述】:

我的应用程序在 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 创建所有查询并插入带有小写表名的统计数据

【问题讨论】:

    标签: mysql linux jpa eclipselink


    【解决方案1】:

    这个问题很可能发生,因为您允许 EclipseLink 对某些名称进行默​​认设置。如果您使用数据库的大小写来指定名称,EclipseLink 应该默认使用这些大小写。

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

    您使用的是什么版本的 EclipseLink?

    【讨论】:

    • 嗨,戈登。谢谢四位帮忙。我没有注释,我在 orm.xml 中配置了我的所有实体,但你是对的,我添加标签
      来定义表名,问题解决了,如下所示:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多