顾里 :) 2022-12-27 19:28 采纳率: 78.6%
浏览 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日

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装