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