又把LIKE查询写成了如下的样子,期望把name里面包含了参数fullName所代表的字符串的结果查询出来。这自然是木有结果的,jpa的底层实现会告诉你没有:fullName这个参数。
@NamedQuery(name = "findFolderByFullNameLike", query = "SELECT f FROM Folder f WHERE f.name LIKE %:fullName%") }query.setParameter("fullName", "哈哈");正确的写法应该是,先把named query写成以下的样子
@NamedQuery(name = "findFolderByFullNameLike", query = "SELECT f FROM Folder f WHERE f.fullName LIKE :fullName") }然后在参数替换的时候再使用百分号。
query.setParameter("fullName", "%哈哈%");

文章详细介绍了如何在JPA中正确使用NamedQuery进行LIKE查询,特别是针对包含特定字符串的参数处理,包括正确的query写法和参数替换方式。
477

被折叠的 条评论
为什么被折叠?



