顾里 :) 2022-12-27 19:28 采纳率: 80.5%
浏览 34
已结题

关于#java#的问题,如何解决?

java: com.student.studentmanagementsystem.entity.Member中的getId()无法覆盖com.student.studentmanagementsystem.config.BaseEntity中的getId()返回类型java.lang.Long与java.lang.String不兼容

我现在遇到一个问题,因为后端是用mp自动生成的id所以长度有19位,但是js的精度只有16位,但是我数据库里的字段类型是bigint,所以我写了一个类
BaseEntity.java

@Data
public class BaseEntity implements Serializable {

    private String id;

    private String gid;

    private String sid;

    private String subjectId;

}

然后我每个实体类都继承了它

@Data
@TableName("grade")
public class Grade extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @TableField("id")
    private Long id;

    @TableField("grade_name")
    private String gradeName;

    @TableField("create_time")
    private Timestamp createTime;

    @TableField("update_time")
    private Timestamp updateTime;

}

我感觉这应该没有问题,结果还是报无法转换类型,所以有没有会的给我提提建议,谢谢了!

  • 写回答

4条回答 默认 最新

  • |__WhoAmI__| 2022-12-27 19:39
    关注

    在 Grade 类中,你声明了一个名为 id 的字段,类型为 Long。这个字段和你从 BaseEntity 继承过来的 id 字段同名,但是类型不同。

    Java 的继承机制要求,子类中的方法必须与父类中的方法具有相同的名称和参数类型,返回类型可以不同。但是你在 Grade 类中声明了一个 id 字段,它和从 BaseEntity 继承过来的 id 字段类型不同,这就导致了冲突。

    为了解决这个问题,可以考虑在 Grade 类中更改 id 字段的名称,或者在 BaseEntity 中将 id 字段的类型更改为 Long。
    望采纳。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 2月13日
  • 已采纳回答 2月5日
  • 创建了问题 12月27日

悬赏问题

  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多