public interface CustodyPaymentScheduleDao extends JpaRepository<HRUserInfo, String> {
@Query(value = "select b.* from custody_abnormal_record_list a ,custody_payment_schedule b where a.contract_no = b.contract_no and a.REPAY_DATE =:repayDate AND a.PUSH_STATUS = '0' and b.channel = '99'order by a.create_time desc", nativeQuery = true)
List<CustodyPaymentSchedule> queryCustodyPaymentSchedule(@Param(value = "repayDate") String repayDate);
运行时报错:
Failed to convert from type [java.lang.Object[]] to type
原因:是继承JpaRepository接口是忽略了转换器参数类型的定义 JpaRepository<HRUserInfo, String>
转换器的参数类型定义与方法接收的参数类型List<CustodyPaymentSchedule>不匹配,修改成一致就ok了
问题背景,想要通过jpa获取对象列表信息:public interface CustodyPaymentScheduleDao extends JpaRepository&lt;HRUserInfo, String&gt; {@Query(value = "select b.* from custody_abnormal_record_list a ,custody_payment_sch...
基于SpringBoot2.0.6.RELEASE1.1配置属性类spring.
jpa
前缀的相关配置项定义在
Jpa
Properties类中,1.2自动装配类涉及到的自动配置类包括:
Jpa
BaseConfiguration,Hibernate
Jpa
AutoConfiguration1.3常用配置项1.4配置项spring.
jpa
.database配置项spring.
jpa
.database的值通常可以自动检测,可取值包括了:1.5配置项spring.
jpa
.generate-ddl和spring.
jpa
.hibernate.ddl-auto配置项spring.
jpa
.generate-ddl管理
JPA
的
Failed
to
convert
from
type
[
java
.
lan
g.
Object
[]] to
type
org.springframework.core.
convert
.Conversion
Failed
Exception:
Failed
to
convert
from
type
[
java
.
lan
g.
Object
[]] to
type
解决办法:
可能是当前的Repository里查询了其他的实体导致的,比如我的:
TaskRepository extends
Jpa
Repos
报错信息:org.springframework.core.
convert
.Conversion
Failed
Exception:
Failed
to
convert
from
type
[
java
.
lan
g.
Object
[]] to
type
出现该
错误
的原因是因为在当前的***Repository中,查询了其他的实体.
public interface InvoiceRepository ...
Failed
to
convert
from
type
java
.
lan
g.String to
type
java
.util.Date for value………解决办法
解决方案的话,其实还是有挺多种的,不过我这里只分享一种-【自定义原生sql,返回List<Map<String, String>>】,也够用了,毕竟如果项目有那么多自定义sql和自定义返回对象,那一开始就不要考虑引入
jpa
,操作如下:
dao层写一个接口,如下:
@Query(value = “SELECT a as a, b as b FROM us.
出现这个
错误
的原因是,后台使用了
@RestController 前段传值过来的是json字符串,让要把字符串转换成时间格式的时候后台无法将字符串解析成时间格式对象,
解决方法:
在controller中加入@InitBinder注解的配置,配合参数转工具 WebDataBinder来进行参数转换
@RestController
public class DiscussionController {
@Autowired
DiscussionService discussionServi
Failed
to
convert
from
type
[
java
.
lan
g.String] to
type
[@
java
x.persistence.Transient
java
.util.Date] for value ‘2020-08-23’
原因:springboot可以自动识别yyyy/MM/dd格式的时间字符串并注入Date类型的属性中,但不能识别yyyy-MM-dd等格式的字符串
解决方法:在属性上标注传入的格式
@DateTimeFormat(pattern = "yyyy-MM-dd")
在使用 Spring Data
JPA
时遇到报错:No
convert
er found capable of
convert
ing from
type
[
java
.
lan
g.Integer] to
type
[com.wchat.bean.Group]
报错详细内容如下
org.springframework.core.
convert
.
Convert
erNotFoundException:...
完整
错误
:
Failed
to
convert
from
type
[
java
.
lan
g.String] to
type
[@io.swagger.annotations.ApiParam @org.springframework.web.bind.annotation.RequestParam
java
.util.Date
如果是请求参数,请加注解:
@GetMapping(value = SUMMARY_URL, produces = "application/json")
public Dail.
org.springframework.core.
convert
.
Convert
erNotFoundException: No
convert
er found capable of
convert
ing from
type
[
java
.
lan
g.String] to
type
[@org.springframework.data.
jpa
.repository.Query com.ry.pojo.Employee]
这个
错误
信息看起来也是在使用Spring Data
JPA
时出现的,可能是因为在使用@Query注解时,传入的参数类型与方法参数类型不一致导致的。具体地说,可能是因为在调用该方法时,传入的参数类型是
java
.
lan
g.String类型,而方法的参数类型是com.ry.pojo.Employee类型,导致了类型转换异常。
你可以检查一下调用该方法时传入的参数类型是否正确,或者在@Query注解中使用正确的参数占位符来匹配方法中的参数类型。例如,如果你使用的是"?"占位符,那么第一个参数应该是Employee类型,而不是String类型。如果你使用的是命名参数占位符,那么请确保参数名和方法中的参数名一致。