我正在使用传单并使用ajax调用在数据库中保存绘制标记的列表。以下是步骤: -
现在,如果我再次点击“保存”按钮,相同标记的详细信息将一次又一次地保存在数据库中。
要求:
我想要以下内容: - - 只应将新标记保存为数据库中的新行。 - 如果删除了任何标记(在所有保存的标记中),应从数据库中删除已删除的标记。 - 如果列表中添加了任何新标记,则应保存新行。
我正在使用spring和hibernate。任何人都可以建议我如何处理这些情况?
这是我的实体类: -
@Entity
@Table(name = "markers")
public class Markers{
@Id
@GeneratedValue
@Column(name = "id")
private Long id;
@Column(name = "layer")
private Layer layer;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "markerDetail", nullable = false)
private MarkerDetail markerDetailId;
@Column(name = "markerName")
private String markerName;
@Column(name = "latitude")
private Double latitude;
@Column(name = "longitude")
private Double longitude;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "MapId")
private Map map;
/*This is the mapID on which the markers exists*/
}
这就是我通过将标记转换为java对象来保存标记列表的方法: -
for(MarkerVO marker : markers){
markerList.add(marker);
}
markerDAO.saveDevices(markerList);
是否可以通过在实体类中覆盖equals()和hashcode()或类似的东西来处理任何建议?