JPQL:
select distinct ref
FROM Data d
inner join d.reference ref
WHERE d.role = 'admin'
ORDER BY ref.id
此 JPA 查询失败并出现以下错误:
PSQLException: ERROR: could not identify an equality operator for type xml
版本:PostgreSQL 9.3 和 JDK 1.7
数据实体包含 xml 类型字段。查询中的ref指的是Data类型对象,即Data实体本身指的是Data类型的对象。 如果我们使用 PK 字段作为唯一值,但需要返回唯一对象而不仅仅是 id,它将起作用。我们使用 JPA 查询语言而不是 native 查询。有什么解决办法吗?
最佳答案
我假设 ref
的类型为 xml
;如果没有,请显示您的表定义。
您可能必须将 ref
转换为 text
类型,因为 xml
没有定义相等性,您该如何处理 DISTINCT
却不知道什么是平等?
或者,您可以使用不同的数据类型或使用 CREATE OPERATOR
在 xml
上定义相等运算符。但是什么时候两个 XML 文档相等呢?
关于java - PSQL异常 : ERROR: could not identify an equality operator for type xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41016684/