平台:
WIN10 X64 专业版。
IDEA 2016.1.1.
MYSQL 5.7.12
hibernate 4.2.2
具体问题:
用hibernate连接MYSQL数据库的时候提示
ERROR: The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
提示说服务器时区设置错误,我就用 MySQL Workbench 使用show variables like '%time_zone%';
命令查看时区,显示如下图所示:
很奇怪。。。。系统时区不显示(难道内容是中文?所以显示不出来?)。
请问该怎么解决?
以下是
hibernate.cfg.xml
com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/xk_demo root 5566 1 org.hibernate.dialect.MySQLDialect thread true
和自己写的测试demo:
import com.hib.db.XkMapEntity; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class Main { public static void main(String[] args) throws Exception { try{ XkMapEntity xkMapEntity = new XkMapEntity(); xkMapEntity.setParentId(0); xkMapEntity.setLevel(1); xkMapEntity.setParentUniqueId(1001); xkMapEntity.setMapUrl("f://map.jpg"); xkMapEntity.setMapPosX(29); xkMapEntity.setMapPosY(34); xkMapEntity.setDescription("demo"); SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory(); Session session = sessionFactory.getCurrentSession(); session.beginTransaction(); session.save(xkMapEntity); session.getTransaction().commit(); }catch (Exception e){ System.out.println(e.toString()); } } }
在
connection.url
值的后面追加connection.url
值的后面追加IDEA DataBase 中连接不上可以用同样的办法。
题主可以在 mysql 中执行命令试下:
set global time_zone='+8:00'
rrreeeIDEA DataBase 中连接不上可以用同样的办法。
题主可以在 mysql 中执行命令试下:
set global time_zone='+8:00'
@junbaor 谢谢指点,追加
?serverTimezone=UTC
就能写入数据库了,但是如果是?serverTimezone=UTC+8
的话就会提示如下图的错误:最后,IDEA依然提示数据库连接不上,但是却能正常向数据库写入数据,如下图所示:
使用 GMT+8 可用。