springboot里面注解mybatis一对一无法自动映射

@Select(" SELECT * FROM buy_car WHERE user_id=#{user_id}")
@Results({
@Result(column = "pro_Id",property = "productInfo",
one=@One(select = "com.order.dao.ProductMapper.ProInfoByCar"))})
public ArrayList CarInfoByUser(@Param("user_id")int user_id);

    实现根据用户查找购物车的同时查出购物车里面商品的信息,运行无问题,购物车类里面的商品信息类里面可以拿到的,反而购物类本身的字段无法自动映射过去,需要手动在上面继续写result

      ArrayList<BuyCar> list=productService.CarInfoByUser(user.getUserId()) ;
    for (BuyCar buyCar : list) {
        System.out.println(buyCar.getBuy_time());//为空,无法映射,但是sql语句查询出来了
        System.out.println(buyCar.getProductInfo().getPro_Name());//有拿到
        System.out.println(buyCar.getProductInfo().getPro_logo());
    }

            购物车类
            public class BuyCar {
private Integer user_id;//拿不到
private Integer pro_id;//拿不到
private Integer buy_count;//拿不到
private Date buy_time;//拿不到

private ProductInfo productInfo;//自动映射到了

省略getset方法

参考GPT和自己的思路:

这个问题可能是因为注解中的属性名与类的属性名不一致导致的。可以尝试修改注解中的属性名与类的属性名保持一致,或者通过在注解中使用@ResultMap来手动指定映射规则解决该问题。此外,还需要确认数据库中的该字段是否具有值,以及是否在购物车类的构造函数中对该属性进行了初始化。