我有一个文本数组,增删改查操作运行良好。现在,我想使用 native 查询查找字符串列表。我尝试过以下解决方案
@Query(nativeQuery = true, value= "select * from biz_db.biz_user where :skills=ANY(skills) and " +
"expert=1 and enabled=1 and " +
"verified=1 order by creation_date desc limit 3")
List<User> findAllExpertsBySkills(@Param("skills") String[] skills);
我得到了
Caused by: org.hibernate.QueryException: Named parameter not bound : skills
感谢任何帮助。
这是User类的技能
@Type( type = "string-array" )
@Column(
name = "skills",
columnDefinition = "text[]"
)
private String[] skills;
并在表中定义
skills text[] NULL,
最佳答案
Any
的语法应该是:
WHERE skills = ANY(:skills)
有关更多详细信息,请查看 9.20.4. ANY/SOME
expression operator ANY (array expression)
关于java - JPA - 如何在 postgres 文本数组中查找字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57473133/