List<Notice> newList=new ArrayList<>();
Notice n =new Notice();
n.setId(UUID.randomUUID().toString());
n.setCreateTime(new Date());
n.setReaded(0);//未读
n.setAid("1");
n.setNoticeType(NoticeStatus.TASK_PATENT_ERROR.getCode());
newList.add(n);
n.setId(UUID.randomUUID().toString());
n2.setAid(a.getAid());
newList.add(n);
noticeMapper.insertBatch(newList);
比如我要存2个消息,我想存2个消息,我想着我把类中UUID变了,再存一次就好了,但是发现这样就会导致第二个UUID设置不生效,值还是第一个,有大神知道为这是为什么吗?
看代码,你两次操作的都是同一个消息对象呢。
应该再new 一个 Notice 对象,设置它的 id ,不要用第一个对象。
重新定义对象,java一切皆对象,你后面修改的值会影响的添加,也就是说最终值会变成一条,其实是第二次修改之后的值,所以,你需要重新定义一个对象,如果重新定义对象是基于第一个对象可以把第一个对象转成json,然后再把json解析为对象,这个时候就相当于重新克隆了一个对象,并且也就一句代码的事情,望采纳