0


我的耳朵项目有一个奇怪的问题:我在实体类上放置了正确的注释:

@Entity
@Table(name = "PRODUCTS")

但是当我在 glassfish 3.1.2.2 上部署我的应用程序时,我发现 JPA 已经创建了带有小写字符的表

我正在使用 EclipseLink 2.4.1

请帮我。

4

2 回答 2

1

我从 Brian Vosburgh 的评论中得到了解决方案:在 Windows 版本的 MySQL 中,表的名称设置为小写。在linux上,默认情况下,这个配置是禁用的,JPA设置的表名不加修改地应用到MySQL上。

要使其像 linux 一样在 windows 上运行,请添加以下行:

lower_case_table_names=0

感谢您的帮助,特别是Brian Vosburgh

于 2013-03-11T08:58:42.717 回答
0

我找到了一个让一切变得不同的房产。在 EclipseLink 向导(从表生成实体)的第三页(自定义默认值)中,我选中了“始终生成可选的 JPA 注释和 DDL 参数”选项。此选项在类中写入以下注释Entity

@Table(name="TableName")

将使用正确的表名字母大小写。

于 2014-01-30T16:01:06.520 回答