jpa传入实体类参数的小坑

实习生勿喷,欢迎热烈讨论!,也想请教各位大佬怎么回事

jpa传入实体类参数,貌似不可以太多

    @Transactional(rollbackFor = Exception.class)
    @Modifying
    @Query(value = "INSERT into cards (cid,catk,cdef,chp,cms,cas,chit,camp,cname,cpow,context,clevel) " +
            "values (:#{#card.cid},:#{#card.catk},:#{#card.cdef},:#{#card.chp},:#{#card.cms}," +
            ":#{#card.cas},:#{#card.chit},:#{#card.camp},:#{#card.cname},:#{#card.cpow},:#{#card.context},:#{card.clevel})",nativeQuery = true)
    int saveOne(@Param("card")Card card);
刚开始这样写的会报错 
org.springframework.expression.spel.SpelEvaluationException: EL1008E: Property or field 'card' cannot be found on object of type 'java.lang.Object[]' - maybe not public or not valid?
网上无论怎么百度都是与thymeleaf有关,然后我就把thymeleaf的依赖注释了,但是还是有。

最终重新写了这个语句,减少传参量,就好了

@Transactional(rollbackFor = Exception.class)
@Modifying
@Query(value = "INSERT into cards (cid,camp,cname,context) " +
        "values (:#{#card.cid},:#{#card.camp},:#{#card.cname},:#{#card.context})",nativeQuery = true)
int saveOne(@Param("card")Card card);

目前我考虑的是,底层有传入参数的大小限制,可能超过这个限制,就没办法找到对应的实体类

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值