带Postgres ltree扩展的Spring JPA
我正在尝试使用SpringJPA实现ltree索引。我有一个包含如下路径的实体带Postgres ltree扩展的Spring JPA,spring,postgresql,hibernate,jpa,ltree,Spring,Postgresql,Hibernate,Jpa,Ltree,我正在尝试使用SpringJPA实现ltree索引。我有一个包含如下路径的实体 @Type(type = "com.thomaster.ourcloud.model.filesystem.LTreeType") @Column(columnDefinition="ltree") private String relativePath; LTreeType类是此处的复制粘贴 索引在数据库中正确完成,添加了ltree扩展。当我运行下面的查询时 @Query(value = "SELECT * FR
@Type(type = "com.thomaster.ourcloud.model.filesystem.LTreeType")
@Column(columnDefinition="ltree")
private String relativePath;
LTreeType类是此处的复制粘贴
索引在数据库中正确完成,添加了ltree扩展。当我运行下面的查询时
@Query(value = "SELECT * FROM file_system_element WHERE relative_path ~ lquery(:pathToSearch)", nativeQuery = true)
List<FileSystemElement> findAllByPath(@Param("pathToSearch") String pathToSearch);
我也犯了同样的错误
为了
我明白了
以及:
SELECT * FROM file_system_element WHERE ltree(relative_path) ~ ltree(:pathToSearch)
我得到:
ERROR: operator does not exist: ltree ~ ltree
正如你所看到的,我尝试了几乎所有的组合,但仍然没有结果。我也在实体管理器上尝试了与本机查询相同的查询,但没有区别。我在这里遗漏了什么?解决了它,这是我的错误。查询参数为
“文件夹.另一个文件夹”
而不是
“文件夹。另一个文件夹。*”
org.postgresql.util.PSQLException: ERROR: operator does not exist: ltree @> lquery
SELECT * FROM file_system_element WHERE ltree(relative_path) ~ ltree(:pathToSearch)
ERROR: operator does not exist: ltree ~ ltree