基于对象存在保存/更新/删除

时间:2015-08-06 12:40:50

标签: javascript spring hibernate leaflet

我正在使用传单并使用ajax调用在数据库中保存绘制标记的列表。以下是步骤: -

  • 在地图上绘制所有标记。
  • 创建一个json数组并传递给spring控制器并将详细信息保存在数据库中。

现在,如果我再次点击“保存”按钮,相同标记的详细信息将一次又一次地保存在数据库中。

要求:

我想要以下内容: -   - 只应将新标记保存为数据库中的新行。   - 如果删除了任何标记(在所有保存的标记中),应从数据库中删除已删除的标记。   - 如果列表中添加了任何新标记,则应保存新行。

我正在使用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()或类似的东西来处理任何建议?

0 个答案:

没有答案