一开始遇到这个问题,在网上找到了解决方法,但是没在意,一直以为是配置问题
这个问题是由于,与数据库表映射的PO实体类,没有标明哪一个是主键ID
就差这么一个注解一直报错
但是我这个表又比较特殊,是有联合主键的,如上图(USERCODE,ISSUECODE)
如果只是给一个usercode加注解@Id,不报错了。那么查出来多条数据的话,如果usercode相同,都会被相同的usercode第一条数据覆盖,你会看到返回的数据都是第一条数据的重复
因此这就用到了JPA联合主键设置,方法如下:
很简单,新建一个主键类,将主键属性写入,get set一下,如下图:
之后在原始PO类中,联合主键相关的属性都加上@Id注解,然后PO类上加入@IdClass(主键类.class),如下图: