将 HSQL 迁移到 Mysql 但现场出现 404 错误

Migrating HSQL to Mysql but 404 Error on site

我在将 hsql 迁移到 mysql 时遇到问题。首先,我已经 运行 在 ant tomcat 上使用 hsql,然后我想将它与 mysql 一起使用。我遵循了本文档中的所有步骤 http://www.broadleafcommerce.com/docs/c ... l-tutorial

但是访问网站时出现错误 404。当我检查数据库时。所有表都已创建,但其中一些表没有数据。

这里是一些日志。

[artifact:mvn] [ERROR] 15:34:02 SchemaExport - HHH000231:架构导出失败 [artifact:mvn] org.hibernate.tool.hbm2ddl.ImportScriptException:语句执行期间出错(文件:'/sql/load_i18n_countries.sql'):INSERT INTO BLC_ISO_COUNTRY (ALPHA_2、名称、ALPHA_3、NUMERIC_CODE、状态)值('AX'、“奥兰群岛”、'ALA'、“248”、'OFFICIALLY_ASSIGNED') [神器:mvn] 在 org.hibernate.tool.hbm2ddl.SchemaExport.importScript(SchemaExport.java:451) [神器:mvn] 在 org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:378) [神器:mvn] 在 org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) [工件:mvn] 在 org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) [神器:mvn] 在 org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) [神器:mvn] 在 org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1742) [工件:mvn] 在 org.hibernate.ejb.EntityManagerFactoryImpl.(EntityManagerFactoryImpl.java:94) [工件:mvn] 在 org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:905) [工件:mvn] 在 org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:890) [神器:mvn] 在 org.springframework.orm.jpa.vendor.SpringHibernateEjbPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateEjbPersistenceProvider.java:51)

请帮助我。谢谢。

这可能是由于 MySQL 不是 运行 在 UTF-8 模式下。请参阅 Broadleaf 文档中的 link:http://www.broadleafcommerce.com/docs/core/current/broadleaf-concepts/key-aspects-and-configuration/database-configuration/mysql.

基本上,确保您的 my.cnf 配置告诉 MySQL 到 运行 具有以下内容:

[mysqld]
lower_case_table_names=1
character-set-server=utf8
collation-server=utf8_general_ci

您需要重新启动 MySQL 才能生效。执行此操作后,您可能需要创建另一个默认为 UTF-8 的架构。如果你不配置它,MySQL 通常在与 UTF-8 不兼容的 MYISAM 中启动。我不确定您是否可以将现有模式从 MYISAM 更改为 UTF-8;如果您只是创建一个新模式,可能会更容易。