编程语言
首页 > 编程语言> > java-Hibernate什么都不选择

java-Hibernate什么都不选择

作者:互联网

我已将MySQL InnoDB表utf-8编码.该表只有id和name字段.为了测试,用俄语命名,用英语命名1个.英文名称选择确定,但是当尝试使用俄文名称选择时,它返回空列表.我尝试使用Criterion和HQL来构建查询.

getHibernateTemplate().find("from FirstName where name='free' ");
getHibernateTemplate().find("from FirstName where name='ИННА' ");

这是连接字符串-
?zeroDateTimeBehavior = convertToNull& useUnicode = true& characterEncoding = utf8

我正在使用休眠3.2.7.ga和春季2.5.6.SEC03

这是休眠日志:

Hibernate: /* from FirstName where name='ИННА'  */ select firstname0_.`id` as id1_24_, firstname0_.`name` as name2_24_ from `first_name` firstname0_ where firstname0_.`name`='ИННА' limit ?

解决方法:

感谢所有人,我找到了答案.

问题出在连接字符串中.
我做了重构,并将连接字符串移动到了属性文件,而不是使用spring-bean的xml.但我没有更改“& amp;” “&”的实体.
成功的连接字符串在属性文件中

jdbc:mysql://${host}:${port}/${database}?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8

XML文件更改& amp;实体正确,但属性格式不执行此操作.

标签:character-encoding,hibernate,spring,java,mysql
来源: https://codeday.me/bug/20191201/2079126.html