gpt4 book ai didi

java - Hibernate mysql 测试

转载 作者:行者123 更新时间:2023-11-29 08:19:32 25 4
gpt4 key购买 nike

当我尝试使用 hibernate + jpa 在 MYSQL 数据库中保存姓氏 = 'Lučić' 的患者时,我遇到了问题。

当我执行常规 INSERT INTO 操作时,字母 č 和 ć 在数据库和我的 jsf 表单上正确显示,因此我确信我的表单和数据库中的字符集是正确的。

这是我的 hibernate 配置:

app_persistance.dialect=org.hibernate.dialect.MySQLDialect
app_persistance.show_sql=true
app_persistance.generateDdl=true
app_persistance.minPoolSize=1
app_persistance.maxPoolSize=10
app_persistance.connection.url=jdbc:mysql://localhost:3306/dentapp
app_persistance.connection.username=root
app_persistance.connection.password=root
app_persistance.connection.driver_class=com.mysql.jdbc.Driver
app_persistance.hibernate.connection.CharSet=utf8_croatian_ci
app_persistance.hibernate.connection.characterEncoding=UTF-8
app_persistance.hibernate.connection.useUnicode=true
app_persistance.hbm2ddl=update

我尝试调试并检查 jsf 表单中的 Patient 对象中的值 familyname 在 serviceImpl 中是否具有正确的值( č, ć ):

@Override
@Transactional
public Patient save(Patient patient) {
return patientDAO.save(patient);
}

但在病人对象中一切似乎都很好,所以它一定是 hibernate 配置的问题。当 hibernate+jpa 将病人保存到数据库时,它将 č,ć 转换为 ??字符。

任何人都可以指出我应该在哪里查看/阅读/检查的内容吗?

谢谢!

最佳答案

您的连接似乎未使用 UTF8

改变

app_persistance.connection.url=jdbc:mysql://localhost:3306/dentapp

app_persistance.connection.url=jdbc:mysql://localhost:3306/dentapp?useUnicode=true&characterEncoding=utf-8

关于java - Hibernate mysql 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19811687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com