QueryDSL sql和UUID参数类型

时间:2014-08-25 11:46:12

标签: postgresql querydsl

我正在使用带有PostgresTemplates的QueryDSL SQL,我正在尝试将UUID参数放入查询中,但是当我执行此查询时:

UUID uuid = UUID.randomUUID();
QOrganization org = QOrganization.organization;
long count = new SQLQuery(connection, configuration)
            .from(org)
            .where(org.id.eq(uuid))
            .count();

数据库抱怨:

org.postgresql.util.PSQLException: there is no operator does not exist: uuid = character varying

如何显式转换我的UUID参数?

1 个答案:

答案 0 :(得分:3)

Querydsl SQL通过setString将当前UUID类型映射到PreparedStatements。看起来Postgres支持通过setObject直接设置UUID,因此似乎需要在Querydsl SQL中调整UUID支持。