小编Dam*_*n C的帖子

Hibernate,Postgres和Array Type

我在使用hibernate 4.1.0映射的postgresql 9.3中使用数组类型时遇到了一个特定的问题.这种类型允许我拥有非常强大的数据模型,而无需构建大量的表和连接.

为了映射使用此特定类型存储的字段,我使用了UserType

无论如何,它适用于纯hibernate(hql),但我还需要将sql本机查询发送到我的数据库.当我这样做时,尽管尝试了很多次,但我还没有找到任何办法.

我尝试了很多基于此的语法

String[] values = {"value1", "value2"};
String queryString = "SELECT * FROM instances WHERE values && :values";
Query query = this.getSession().createSQLQuery(queryString).addEntity(Instance.class);
query.setParameterList("values", values);
query.list();
Run Code Online (Sandbox Code Playgroud)

我得到的运算符不存在:text [] &&字符变化

它应该在jdbc中给出以下语法:['value1','value2']并且它似乎给'value1'...

我试过很多语法

  • 采集
  • 纯阵列
  • [:values]语法:我在"["附近出现语法错误

我需要发送本机查询,因为我使用Materialized View来提高性能.

我的SQL查询在postgresql控制台中有效.所以这是一个特定于hibernate的问题.

java arrays postgresql hibernate

13
推荐指数
1
解决办法
1万
查看次数

标签 统计

arrays ×1

hibernate ×1

java ×1

postgresql ×1