将 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;如果您只是创建一个新模式,可能会更容易。
我在将 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;如果您只是创建一个新模式,可能会更容易。