1

私の単純なクエリは、JPQL では次のようになります。

SELECT COUNT(r) FROM org.domain.Resource r WHERE r._parent = :parent AND r._metadata[:metadataKey] is not null

しかし、Hibernate SQL の出力は次のようになります (H2 と MySQL の両方)。

select
            count(resource0_.id) as col_0_0_ 
        from
            resources resource0_,
            resource_metadata metadata1_ 
        where
            resource0_.id=metadata1_.resource_id 
            and metadata1_.datum_key = ? 
            and resource0_.parent_id=? 
            and (
                metadata1_.datum_value is not null
            ) limit ?

ここでの問題は、Hibernate の既知のバグであり、プリペアド ステートメントのパラメーターが台無しになります。したがって、私の場合、親とキーが混在しています。

ネイティブ クエリ以外の回避策について何か提案はありますか?

4

0 に答える 0