1. 我的基础Mapper如下:
public interface Mapper<T> extends BaseMapper<T>, ConditionMapper<T>,
IdsMapper<T>,
InsertListMapper<T>,
RowBoundsMapper<T>,
Marker {
}
2. mysql有张表[master], 主键是hotelid+accnt, 我的model如下:
public class Master {
/**
* 酒店标识
*/
@Id
private String hotelid;
/**
* accnt
*/
@Id
private String accnt;
......
}
3. 启动的时候报错:
Caused by: tk.mybatis.mapper.MapperException: 继承 deleteByIds 方法的实体类[com.sun.demo.modules.model.Master]中必须只有一个带有 @Id 注解的字段
at tk.mybatis.mapper.provider.IdsProvider.deleteByIds(IdsProvider.java:43) ~[mapper-3.4.0.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_131]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_131]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_131]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_131]
at tk.mybatis.mapper.mapperhelper.MapperTemplate.setSqlSource(MapperTemplate.java:237) ~[mapper-3.4.0.jar:na]
... 29 common frames omitted
4. 请问: 组合主键,应该怎么解决?【前提,我的表主键必须是hotelid+accnt】
Spring Boot
MyBatis
联合主键就是没有主键
一般情况下,表设计自己的自增ID作为主键,再设置其他业务属性的外健