问题描述
给学长的数据库模拟数据的时候没有意识到,学长的表名order是Mysql数据库的关键字,接着插入数据疯狂失败,一直找不到原因,后来才发现是因为表名的缘故
问题解决
给实体类打上@TableName注解,加上’'就好了,采用配置自己规定表名,不使用默认配置
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("`order`")
public class Order implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* account id
*/
private Long accountId;
/**
* device id
*/
private Long deviceId;
/**
* 开始使用的时间
*/
private LocalDateTime startTime;
/**
* 实际结束使用的时间
*/
private LocalDateTime endTime;
/**
* 订单状态
*/
private String orderStatus;
/**
* 订单创建时间
*/
private LocalDateTime createdAt;
/**
* 父订单的Id
*/
private Long parentId;
private LocalDateTime updatedAt;
/**
* 赔偿表id
*/
private Long compensationId;
}