簡體   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