有关Hibernate写入数据 中文问题
报错:
Dec 02, 2016 11:46:02 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
WARN: SQL Error: 1366, SQLState: HY000
Dec 02, 2016 11:46:02 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: Incorrect string value: '\xE5\xBC\xA0\xE4\xB8\x89' for column 'NAME' at row 1
Dec 02, 2016 11:46:02 PM org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl release
INFO: HHH000010: On release of batch it still contained JDBC statements
Dec 02, 2016 11:46:02 PM org.hibernate.internal.ExceptionMapperStandardImpl mapManagedFlushFailure
ERROR: HHH000346: Error during managed flush [org.hibernate.exception.GenericJDBCException: could not execute statement]
我是通过MySQLWorkbench来建的表,如果出现上面的错误,主要有2个原因
1.检查hibernate.cfg.xml中url是否强调为utf-8
2.检查MySQL默认的编码是否为utf-8
解决办法:
原因1:在相应的URL中添加useUnicode=true&characterEncoding=utf-8 。
原因2:如图在MySQLWorkbench中修改(或在创建表时 明确为UTF-8)