休眠查询中的 Postgres ltree
Posted
技术标签:
【中文标题】休眠查询中的 Postgres ltree【英文标题】:Postgres ltree in hibernate query 【发布时间】:2014-03-11 12:25:40 【问题描述】:我使用 Play Framework 1.2.5.3 和 PostgreSQL 9.x。
我有 WorkArea
类作为带有字段的数据库模型
@Column(columnDefinition = "ltree", insertable = false, updatable = false)
public String tree;
在 postgre 中,它是一个数据库表 workareas,字段为 tree(类型 ltree)
我想将 Hibernate 查询与 postgres ltree 操作一起使用。例如:
List<WorkArea> workAreas = WorkArea.find("tree @> :tree").bind("tree", otherArea.tree).fetch();
或者
List<WorkArea> workAreas = WorkArea.find("ltree_isparent(:tree, tree)").bind("tree", otherArea.tree).fetch();
我该怎么做?
【问题讨论】:
【参考方案1】:如果要调用存储过程,则需要使用本机查询。
Query query = JPA.em().createNativeQuery("some sql query :foo", WorkArea.class);
query.setParameter("foo", "bar");
List<WorkArea> results = query.getResultList();
【讨论】:
以上是关于休眠查询中的 Postgres ltree的主要内容,如果未能解决你的问题,请参考以下文章