Postgres ltree在hibernate查询中

时间:2014-03-11 12:25:40

标签: hibernate postgresql playframework-1.x ltree

我使用Play Framework 1.2.5.3和PostgreSQL 9.x。

我将类WorkArea作为带有字段

的数据库模型
@Column(columnDefinition = "ltree", insertable = false, updatable = false)
public String tree;

在postgre中,它是一个数据库表 workareas ,字段(类型 ltree

我想在postgres ltree操作中使用Hibernate查询。例如:

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 个答案:

答案 0 :(得分:1)

如果要调用存储过程,则需要使用本机查询。

Query query = JPA.em().createNativeQuery("some sql query :foo", WorkArea.class);
query.setParameter("foo", "bar");
List<WorkArea> results = query.getResultList();