搜资料提示orm映射的表必须有主键 网上说放一个空的@id放在那里 结果此方法测试无效
表数据如下
此时id不是主键 也不是唯一标识 就是个叫id的列名
使用默认查询的时候 会出现问题 返回所有数据都是重复
select id,comid from st_PkgActvty_comset where id = 'SPA0000001'
解决方法
在这里插入代码片
@Table(name = "st_PkgActvty_comset")
@Entity
@Data
public class StPkgActvtyComset {
// 实体中添加主键
@Id
@Column(name = "aid")
private Long aid;
@Column(nullable = true, name = "id")
private String id;
@Column(nullable = true, name = "comid")
private String comid;
}
查询语句中 使用查询当前行号作为主键
select ROW_NUMBER() OVER (ORDER BY comid) AS aid, id,comid from st_PkgActvty_comset where id = 'SPA0000001'
增加了主键字段后 查询的数据就是正常的了 最好是 多表关联的中间表给一个自增的id 还有就是和主键无关的字段 尽量不要叫做id