如何做hibernate空间删除?

时间:2015-08-20 09:41:19

标签: hibernate postgresql cascade cascading-deletes hibernate-spatial

我想删除我的数据库数据。

这是从TextBox的值中获取的AJAX代码:

 SavegeojsonManager add = new SavegeojsonManager();

 @RequestMapping(value = "/deleteGeoJson", method = RequestMethod.GET)
@ResponseBody
public GeoJSON deleteGeoJson( final HttpServletRequest request,@RequestParam("id") final int vectorId) {
    return add.delete(vectorId);
}

这是我的按钮代码:  

  •     删除                  
  • 这是我的控制器(获取方法)

     public GeoJSON delete(int id) {
    
        GeoJSON geoJson = new GeoJSON();
        try{
            EntityManager em = HibernateSpatialJPA.createEntityManager();
            em.getTransaction().begin();
            //How can I continue ?
           //If there's one thing if it is connected to the data you delete it
          //so cascade ??
    
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
        }
        return geoJson;
    }
    

    这是SavegeojsonManager类codee:

    private int id;
     public int getId() { return id; }
    public void setId(int id) {  this.id = id; }
    

    }

    这是GeoJSON Class:

    {{1}}

    1 个答案:

    答案 0 :(得分:1)

    首先,当您删除实体时,您无法在示例中返回该已删除实体的实例。

    您可以这样做: 例如,在您<input type="text" onMouseover= "callme(this)">Mouse over me!</span> <script> function callme(obj){ obj.style.color='red' obj.style.otherproperty ='value' . ..... somthing else } </script> 的视图中,您可以显示已通过jsp发送的消息。适用于来自Controller部分的ajax请求。

    控制器代码:

    success

    您的代码: 这可以通过多种方式完成:

    @RequestMapping(value = "/deleteGeoJson", method = RequestMethod.GET)
    @ResponseBody
    public String deleteGeoJson( final HttpServletRequest request,@RequestParam("id") final int vectorId) {
        String message = null;
        boolean deleted = add.delete(vectorId);
        if(deleted){
            message = "Geo object has been deleted with id: "+vectorId;
        } else {
            message = "There was some problem with deleting GeoObject"
        }
        return message;
    }