No Dialect mapping for JDBC type: 1111

在使用JPA利用原生SQL查询数据库时,报错:No Dialect mapping for JDBC type: 1111

解决办法:
由于联表查询时需要返回多个字段,所以JPA接收数据是自定义的一个POJO,而查询返回类型中有uuid类型字段,需要利用cast方法将uuid字段转换为varchar,例如:

SELECT A
	.*,
	B.username AS userName 
FROM
	(
	SELECT COUNT
		( ID ) AS requestsSent,
		MAX ( created_time ) AS lastRequestedTime,
		########转换一下#########
		CAST(user_id AS VARCHAR) userId
	FROM
		enroll_request 
	WHERE
		tenant_id = 'e0256650-96b0-11eb-98f9-e5d041965b26' 
	GROUP BY
		user_id 
	)
	A LEFT JOIN end_user B ON A.userId = CAST(B.ID  AS VARCHAR) 
-- WHERE
-- 	userName LIKE'%Jack%' 
ORDER BY
	lastRequestedTime DESC

你可能感兴趣的:(数据库,Spring,data,jpa,sql,postgresql,java,jpa)