在休眠状态下设置会话变量

时间:2019-10-25 10:38:26

标签: mysql hibernate

我正在尝试从服务器上托管的MySQL数据库读取汉字(例如:早上好)。

服务器端的会话变量看起来像这样

SHOW会话变量,如“ char%”;

+--------------------------+----------------------------------------+
| Variable_name            | Value                                  |
+--------------------------+----------------------------------------+
| character_set_client     | latin1                                 |
| character_set_connection | latin1                                 |
| character_set_database   | latin1                                 |
| character_set_filesystem | binary                                 |
| character_set_results    | latin1                                 |
| character_set_server     | latin1                                 |
| character_set_system     | utf8                                   |
| character_sets_dir       | folder/charsets/                       |
+--------------------------+----------------------------------------+

我无法通过hibernate.cfg文件设置变量,但是我确实尝试使用以下代码进行设置。还是没用。 试图通过直接执行查询来设置会话变量

    Session session = sessionFactory.openSession(); 
    session.beginTransaction();
    SQLQuery setQuery1 = session.createSQLQuery("set character_set_client=?;");
    setQuery1.setParameter(0, "latin1");
    setQuery1.executeUpdate();

更改后,当我通过休眠(具有相同的连接)运行时,相同的查询(SHOW SESSION VARIABLES像'char%';)显示了SESSION VARIABLES的期望值。 但是,显示中文字符的查询结果似乎已损坏或无法读取(有点像“ é∼¿ç´ç’°ç¤”))

0 个答案:

没有答案