2

在这个项目中,我在 Windows 上开发并在 Linux 上部署,并使用 mysql 作为数据库。

由于文件系统的性质,表名(我想还有更多)在 Windows 上不区分大小写,在 *nix 上敏感[参考]

问题是,默认情况下 play/jpa 使用与表的 java 模型类相同的名称(因此它是大写的,例如 UserProfile)。当我转储我的 windows mysql 数据库时,它会转储小写表名。

这意味着由于区分大小写,我无法在 Linux 中导入它们。

有没有办法告诉 Play / JPA 始终为模型使用小写名称?或者我必须@Table(name="userprofile")在任何单个模型上设置注释?

4

1 回答 1

4

您需要为休眠使用不同的命名策略。hibernate 有一个改进的 NS

http://docs.jboss.org/hibernate/orm/3.6/javadocs/org/hibernate/cfg/ImprovedNamingStrategy.html

您可以简单地将这一行添加到 application.conf

hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy

也看看这个帖子和这个问题

于 2012-04-13T15:08:16.680 回答