繁体   English   中英

Hibernate,可在Windows上运行,但不能在Linux上运行。 它复制表并弄乱某些表的名称

[英]Hibernate, works on Windows but not on Linux. It duplicates tables and mess around with some tables's name

我正在使用以下语言开发企业管理系统:JS,Java 8.91,Tomcat 8.5.4和MySQL 5.7。

该系统有许多数据库:

  • 主数据库,用于存储用户信息(登录名,密码,电子邮件和用户的数据库名称)。

  • 用户数据库,存储用户的公司信息。 用户注册后,Hibernate将为新用户创建一个新的数据库。

它可以在Windows上完美运行,但是当我在UbuntuServer 16.04 64x上对其进行测试时,会发生一些错误/问题,休眠:

  • 复制MainDB中几乎每个表(例如:复制表“ users”,创建一个新表“ Users”)。
  • 当hibernate创建用户数据库时,它会混乱表名称(例如:hibernate应该创建一个名为“地址”的表,但是会创建一个名为“地址”的表)。

老实说,我不知道发生了什么,我以前从未见过,也不知道如何解决。 每个帮助/提示将不胜感激。

参考: MySQL中的表名是否区分大小写?

解决方案1

  • 须藤nano /etc/mysql/mysql.conf.d/mysqld.cnf
  • 在[mysqld]下,添加以下行:lower_case_table_names = 1
  • sudo服务mysql重新启动

解决方案2

  • 确保使用@Table命名所有类。 示例:@Table(name =“ your_table_name”)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM