我正在开发一个带有spring mvc和hibernate的应用程序,当我想从数据库中按他的名字选择一个对象时,我的hql查询有一个问题。
因为这个名字包含一个引号(ingénieur d'tude)

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

我有个例外:
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;

07-26 06:12