I want to update a record associated with a primary key using Spring-JPA.
GroupChatHeartBeat groupChatHeartBeat=new GroupChatHeartBeat();
groupChatHeartBeat.setId(user.getId());
groupChatHeartBeat.setGender(user.getGender());
groupChatHeartBeat.setHeartBeatTime(new Date());
groupChatHeartBeat.setUrl(userPhoto.getSrcBig());
groupChatHeartBeatRepository.save(groupChatHeartBeat);
where GroupChatHeartBeat is declared as Entity, but doing so it's not replacing with new value. it is showing old value only. My intention is to update the table and if an id exist it should get replaced with new records(like time, gender, url etc ). here is the entity
@Entity
@Table
public class GroupChatHeartBeat implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private Long id;
private Date heartBeatTime;
private String url;
private Gender gender;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public Date getHeartBeatTime() {
return heartBeatTime;
}
public void setHeartBeatTime(Date heartBeatTime) {
this.heartBeatTime = heartBeatTime;
}
public Gender getGender() {
return gender;
}
public void setGender(Gender gender) {
this.gender = gender;
}
}
Try this :
To update an existing entity in database - You must set the Object Id of new Object to OldObject Id.
i.e.
newObject.setId(OldObject.getId())
and thenrepo.save(newObject)
will update the existing entity in the database.Entity Class
Autowire Repository
Save and Update
Checkout the Complete Project in my GitHub repository.