org.springframework.core.convert.ConverterNotFoundException: 找不到能够从类型 [java.lang.String] 转换为类型模型的转换器
org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [java.lang.String] to type Model
这是存储库方法,您将看到 created_date 的 UserDetail 实体 Table 中的 select 列,但是当我输入 swagger 这个值 2021- 时出现错误10-1423:16:31
@Query(value = "SELECT usd.phoneNumber,usd.textMessage FROM UserDetail entity usd WHERE usd.created_date=:createdDate", nativeQuery = true)
UserDetail findByCreatedDate(LocalDateTime createdDate);
我尝试在服务层输入parametr String格式并转换为LocalDate时间,如下代码:
@Override
public UserDetail findByCreatedDateWhenUserTypeOwnInfo(String createdDate) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(createdDate, formatter);
return this.userDetailRepository.findByCreatedDate(dateTime);
}
我遇到了这个错误:
org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [java.lang.String] to type [az.expressbank.expressbankproject.data.model.UserDetail]
如何解决这个问题>?
您使用的是“命名参数”,因此看起来您需要在查询中添加一个@Param。像这样:
UserDetail findByCreatedDate(@Param("createdDate") LocalDateTime createdDate);
这是存储库方法,您将看到 created_date 的 UserDetail 实体 Table 中的 select 列,但是当我输入 swagger 这个值 2021- 时出现错误10-1423:16:31
@Query(value = "SELECT usd.phoneNumber,usd.textMessage FROM UserDetail entity usd WHERE usd.created_date=:createdDate", nativeQuery = true)
UserDetail findByCreatedDate(LocalDateTime createdDate);
我尝试在服务层输入parametr String格式并转换为LocalDate时间,如下代码:
@Override
public UserDetail findByCreatedDateWhenUserTypeOwnInfo(String createdDate) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(createdDate, formatter);
return this.userDetailRepository.findByCreatedDate(dateTime);
}
我遇到了这个错误:
org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [java.lang.String] to type [az.expressbank.expressbankproject.data.model.UserDetail]
如何解决这个问题>?
您使用的是“命名参数”,因此看起来您需要在查询中添加一个@Param。像这样:
UserDetail findByCreatedDate(@Param("createdDate") LocalDateTime createdDate);