mysql - HQL 查询中的转义引号

标签 mysql sql hibernate hql

我正在使用 spring mvc 和 hibernate 开发一个应用程序,当我想通过他的名字从数据库中选择一个对象时,我的 hql 查询遇到了问题。

因为名称中包含引号(ingénieur d'étude)

String hql = "From Intervenant I Where I.profil like '"+profil+"'";

我有这个异常(exception):

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.hibernate.QueryException: expecting ''', found '<EOF>' [From com.model.Intervenant I Where I.profil like 'Ingénieur d'étude']

是插入数据的用户,那么我如何知道用户插入了什么以及在哪里放置了引用或任何其他特殊字符?

请你帮帮我!

最佳答案

将单引号放在 mysql 中的转义字符中,如下所示

profile = ingénieur d''étude;

或者

profile = ingénieur d\'étude;

关于mysql - HQL 查询中的转义引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24607972/

相关文章:

php - 在doctrine2映射定义中使用计算列

MySQL连接2个表并检索最新的时间戳和消息

mysql - 基于可变数量的客户分割的数据库主键

sql - 计算两个日期之间不包括星期日的天数

php - 如何在没有额外空格的情况下从 MySQL 检索字符数据?

java - 来自 MYSQL DB 查询的编码字符串在 Java 中被破坏

sql - 如何防止SQL数据库被黑客攻击?

java - 当我有 PIVOT 时,使用 JPA 如何在 native 查询中设置参数

java - Hibernate 映射要通过表连接加载的特定字段

java - Hibernate 代理对象不适用于父类(super class)方法