实体增加 @KeySequence 注解,@TableId 增加 type = IdType.INPUT 后,就不能再使用业务自定义主键值了。
@KeySequence
@TableName("urge_weixi_apply_record")
@ApiModel(value="UrgeWeixiApplyRecord实体", description="添加微信流水")
public class UrgeWeixiApplyRecord implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "ID")
@TableId(value = "id", type = IdType.INPUT)
private Long id;
}
总结:
1、@KeySequence 与 业务主键的 setId(XXX) 互斥,若要使用业务主键,就删除@KeySequence
若使用数据自生成的主键就仅仅使用@KeySequence
2、@KeySequence type = IdType.INPUT 优先级高于setId(XXX) 主键的设置方式
实体注解与主键冲突解析

探讨在Java实体类中使用@KeySequence与@TableId(type=IdType.INPUT)注解时,如何正确处理业务自定义主键与数据自动生成主键之间的互斥问题。总结指出,在使用业务主键时应避免使用@KeySequence,反之则仅保留@KeySequence。
1万+

被折叠的 条评论
为什么被折叠?



