绑定日期类型参数时 createNativeQuery 出现问题

issue with createNativeQuery when binding date type parameter

我使用 EntityManager 创建 nativeQuery。 我的数据库是 Postgres 数据库。 我请求的日期字段是这样模型化的..

@Column(name = "date", columnDefinition = "date", nullable = false)
private LocalDate           date;

当我写这个的时候,一切都很好..

 String sqlRequest = "select insurer from stock where date='2021-01-01'";
 Query query = entityManager.createNativeQuery(sqlRequest);
 List<Object[]> records = query.getResultList();

但是当我想使用 setParameter 函数时..

String sqlRequest = "select insurer from stock where date=:param";
Query query = entityManager.createNativeQuery(sqlRequest);
query.setParameter("param", "2022-03-11");
List<Object[]> records = query.getResultList();

我遇到了这个问题..

No operator matches the given name and argument types. You might need to add explicit type casts.

有什么想法吗?

我认为是因为您试图将参数设置为 String 类型而不是 Date。

您应该尝试将 LocalDate 设置为时间而不是“2022-03-11”。