我希望从hibernate.cfg.xml执行mysql数据库的两件事;
要拥有utf8字符,以便它可以保存字符č,ć,ž,đ,š并将它们重新编码为,而不是?在挂毯申请中。
修复了com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException
连接关闭后不允许任何操作。连接是 由于潜在的异常/错误而隐式关闭:** BEGIN NESTED EXCEPTION ** com.mysql.jdbc.exceptions.jdbc4.CommunicationsException 消息:从服务器成功接收的最后一个数据包 was48709毫秒前。最后一个数据包成功发送到 server是48709毫秒之前,比服务器长 配置的'wait_timeout'值。你应该考虑其中之一 在您使用之前到期和/或测试连接有效性 应用程序,增加客户端的服务器配置值 超时,或使用Connector / J连接属性 'autoReconnect = true'以避免此问题。
我的hibermate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost/200</property>
<property name="connection.username">root</property>
<property name="connection.password">123</property>
<property name="connection.autoReconnectForPools">true</property>
<property name="connection.autoReconnect">true</property>
<property name="hibernate.connection.useUnicode">true</property>
<property name="hibernate.connection.characterEncoding">UTF-8</property>
<property name="hibernate.connection.charSet">UTF-8</property>
<property name="connection.pool_size">5</property>
<property name="hbm2ddl.auto">update</property>
<!-- Print SQL to stdout. -->
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="use_sql_comments">true</property>
<property name="generate_statistics">true</property>
<property name="hibernate.transaction.flush_before_completion">false</property>
<!-- Mapping files -->
<mapping class="domaci.entities.Korisnik"/>
<mapping class="domaci.entities.Magazin"/>
<mapping class="domaci.entities.Rubrika"/>
<mapping class="domaci.entities.Strana"/>
</session-factory>
</hibernate-configuration>
答案 0 :(得分:1)
好吧,在你的cfg文件中,你需要将字符集设置为utf-8的č,ć,ž,đ,š字符:
default-character-set=utf8
或类似的东西,......,我不是真的喜欢这种休眠的东西,但我知道你需要这样做。 “的字符集= UTF-8 强>”
答案 1 :(得分:0)
还使用下一个命令增加服务器超时:
set @@global.wait_timeout=31536000
set @@session.wait_timeout=31536000