我有一个简单的模型
class A {
@Type(type = "com.vivek.persistence.ListAsSQLArrayUserType")
@Column(name = "string_array", columnDefinition = "text[]")
List<String> stringArray;
}
字符串
现在我想搜索stringArray列中存在的任何项。我可以简单地使用SQL Native Query:
select * from A WHERE 'abc' = any(string_array)
型
但是我无法通过Hibernate Criteria API找到任何方法。我已经尝试了 *IN predicate *,但它根本不起作用,并返回空结果。如果你能帮忙的话,我将不胜感激。
2条答案
按热度按时间q8l4jmvw1#
我已经找到了解决方案,可以使用 criteriaBuilder.function() 来特定于postgres。它解决了我的问题。
字符串
5anewei62#
在@Vivek Dhiman回答的帮助下,我将下面的解决方案应用于ENUM类型的列。构建标准时:
使用前:
字符串
之后:
型
栏目
型
建设者:
型