Jpa JPQL中的转义字符
在JPQL中,什么是转义字符,我们可以用来转义字符,如“'” 我在做类似的事情 “…where person.name='Andy'” 在这里,它工作得很好 但是当人名为Andy时,where子句变成 “…人在哪里。名字='Andy's'”Jpa JPQL中的转义字符,jpa,jpql,Jpa,Jpql,在JPQL中,什么是转义字符,我们可以用来转义字符,如“'” 我在做类似的事情 “…where person.name='Andy'” 在这里,它工作得很好 但是当人名为Andy时,where子句变成 “…人在哪里。名字='Andy's'” 它返回的错误是它无法找出字符串文字的结尾。规范中很好地说明了解决方案: 包含单引号的字符串文字由两个引号表示 单引号,例如:'文字''s' 在你的情况下,这意味着: ...where person.name='Andy''s' 下面是使用命名参数执行查询的
它返回的错误是它无法找出字符串文字的结尾。规范中很好地说明了解决方案: 包含单引号的字符串文字由两个引号表示 单引号,例如:'文字''s' 在你的情况下,这意味着:
...where person.name='Andy''s'
下面是使用命名参数执行查询的示例代码
Query query = entityManager.createQuery("SELECT p FROM Person p WHERE p.name LIKE :name" );
query.setParameter("name", personName);
在这里,您可以将字符串传递给personName
,其中可能包含特殊字符,如“Andy's”
而且,它看起来非常干净&在执行查询和更改搜索字符串之前不需要检查参数