首页 > 解决方案 > 如何在 JPA 规范中使用 mysql 转换功能?

问题描述

JPA按字符集问题排序。

我使用spring-data-jpamysql 5.7。我的 db 字符集是utf8mb4因为我需要在表中存储表情符号。

这是我的桌子:

+--------------------+--------------+------+-----+-------------------+-----------------------------+
| Field              | Type         | Null | Key | Default           | Extra                       |
+--------------------+--------------+------+-----+-------------------+-----------------------------+
| id                 | varchar(50)  | NO   | PRI | NULL              |                             |
| name               | varchar(100) | NO   |     | NULL              |                             |
| content            | varchar(100) | NO   |     | NULL              |                             |
| status             | varchar(20)  | NO   | MUL | DEFAULT           |                             |
| type               | varchar(50)  | NO   | MUL | DEFAULT           |                             |
+--------------------+--------------+------+-----+-------------------+-----------------------------+

我想用中文字符顺序按名称选择项目和顺序。项目名称可以是表情符号和中文字符串。

如果使用本机 sql,我可以这样做:

select * from item where name like ? order by convert(name using gbk);

是否可以convert(name using gbk)在 JPA 规范中使用?

标签: mysqljpaspring-data-jpa

解决方案


推荐阅读