今天碰到一个问题,在使用Spring Data JPA一对多关联时候保存到数据库,数据都保存了,但是外键的值为空!
原因:实体类配置关联关系后还要在保存的时候体现出关联性。
PS:如果有看不懂的可以给我留言,这个问题我搞了半天,哎
多的一方:
@ManyToOne
@JoinColumn(name = "notify_id")
private Notify notify;
一的一方:
@OneToMany(mappedBy="notify",fetch=FetchType.EAGER,cascade={CascadeType.ALL})
private List<Receiver> recv = new ArrayList<Receiver>();
插入时的代码:
Notify notify = new Notify();
BeanUtils.copyProperties(notifyDto, notify);
String[] nameStr = notifyDto.getTo().split(",");
List<Receiver> recvList =notify.getRecv();//体现出一对多的关系
for(String name : nameStr){
Receiver recv = new Receiver();
recv.setRecvName(name);
recv.setStatus(GeneralVarEnum.MESSAGE_UNREAD.CODE);
recvList.add(recv);
recv.setNotify(notify);//体现多对一的关系
}