我正在使用带有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参数?
答案 0 :(得分:3)
Querydsl SQL通过setString将当前UUID类型映射到PreparedStatements。看起来Postgres支持通过setObject直接设置UUID,因此似乎需要在Querydsl SQL中调整UUID支持。