在这个项目中,我在Windows上开发并在Linux上部署,并使用mysql作为数据库。
由于文件系统的性质,表名(以及更多,我猜)在Windows上不区分大小写,在* nix [Ref]
上敏感问题是,默认情况下play / jpa使用与表的java模型类相同的名称(因此它是大写的,例如UserProfile)。当我转储我的Windows mysql数据库时,它会转储小写的表名。
这意味着由于区分大小写,我无法在Linux中导入它们。
有没有办法让Play / JPA始终为模型使用小写名称?
或者我必须在任何单个模型上设置@Table(name="userprofile")
注释吗?
答案 0 :(得分: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