我的耳朵项目有一个奇怪的问题:
我在我的实体类中添加了正确的注释:
@Entity
@Table(name = "PRODUCTS")
但是当我在glassfish 3.1.2.2上部署我的应用程序时,我发现JPA创建了带有小写字符的表
我正在使用EclipseLink 2.4.1
请帮助我。
答案 0 :(得分:1)
我从Brian Vosburgh的评论中得到了解决方案: 在MySQL的Windows版本中,表的名称设置为小写。在linux上,默认情况下,此配置被禁用,JPA设置的表名称无需修改即可应用于MySQL。
要使其像Linux一样在Windows上运行,请添加以下行:
lower_case_table_names=0
感谢您的帮助,特别是Brian Vosburgh
答案 1 :(得分:0)
我找到了一个让一切变得与众不同的财产。
在EclipseLink向导(从表生成实体),第三页(Customize Defaults)中,我选中了“Always generate optional JPA annotations and DDL parameters”选项。
此选项在Entity
类中编写以下注释:
@Table(name="TableName")
将使用正确的表格字母大小写。