0
JPQL:PSQLException:錯誤:無法識別的等號操作XML類型
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
Data實體包含一個xml類型字段。查詢中的引用引用數據類型對象,即數據實體本身引用數據類型的對象。 這將工作,如果我們使用不同的PK領域,但需要返回唯一的對象不只是身份證。我們正在使用JPA查詢語言而非原生查詢。任何解決方案?
我猜他正在使用JPQL而不是SQL。 JPQL不需要「ON」條款,他正在加入關係。 –
是的,我給了JPQL查詢。 ref是Data類型的,即Data實體本身具有對另一個Data實體的引用。我使用JPA(Hibernate)獲取完整的數據對象。這就是爲什麼在這種情況下轉換爲文本或PK域的DISTINCT不適用的原因。 –
我明白了。那麼,如果你使用的ORM比你不能指定類型轉換的限制,你可以使用不同的數據類型或者爲'xml'定義一個相等運算符。 –