MyBatis-Spring-Boot icon indicating copy to clipboard operation
MyBatis-Spring-Boot copied to clipboard

实体类代码只有一个@Id注解字段,但仍然提示实体类只能有一个@Id注解字段

Open SH3ID0N opened this issue 8 years ago • 2 comments

以下是我的实体类:

public class UmUser  {
    private String nickName;
    private int age;
    private String sex;
    private String phone;
    private String email;

    @Id
    @Column(name = "id")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "create_time", nullable = false)
    @Temporal(TemporalType.TIMESTAMP)
    private Date createTime = new Date();


    @Column(name = "update_time")
    @Temporal(TemporalType.TIMESTAMP)
    private Date updateTime = new Date();

    @Column(name = "create_by")
    private String createBy;
    @Column(name = "update_by")
    private String updateBy;
 ...
}

我自定义的Mapper

public interface CustomBaseMapper<T> extends IdsMapper<T> {
}

在IdsProvider中打断点后发现,所有属性都被当做了primary key. 就是下面这句

Set<EntityColumn> columnList = EntityHelper.getPKColumns(entityClass);

请问这个问题怎么解决?

SH3ID0N avatar Jun 08 '17 04:06 SH3ID0N

这个方法要求必须有一个@Id,不能多不能少。

abel533 avatar Jun 08 '17 13:06 abel533

怎么解决的啊?

Memedaaaa avatar Mar 04 '20 14:03 Memedaaaa