2016-09-05 13 views
0

みんな! Parent - > Child Listからアイテムを削除するにはどうすればよいですか? ここは私の状況です。Hibernateがリストから項目を削除します。

コントローラ

@RequestMapping(value = "/delete/{distributorId}/{exhibitorId}", method = RequestMethod.GET) 
    public String deleteExhibitor(Model model, @PathVariable("distributorId") Integer distributorId, 
     @PathVariable("exhibitorId") Integer exhibitorId) { 

    Distributor distributor = distributorService.getById(distributorId); 

    distributor.getExhibitor().remove(exhibitorId); 

    distributorService.update(distributor); 

    return "redirect:/"; 
} 

とディストリビュータ(親)

@Entity 
@Table(name = "distributor") 
public class Distributor { 

@Id 
@GeneratedValue(strategy= GenerationType.IDENTITY) 
@Column(name = "id") 
private Integer id; 

@Column(name = "name") 
private String name; 

@Column(name = "city") 
private String city; 

@Column(name = "address") 
private String address; 

@LazyCollection(LazyCollectionOption.FALSE) 
@OrderColumn(name="orders_index") 
@OneToMany(cascade = CascadeType.ALL, orphanRemoval=true) 
List<Exhibitor> exhibitor = new ArrayList<Exhibitor>(); 

@LazyCollection(LazyCollectionOption.FALSE) 
@OneToMany(cascade = CascadeType.ALL, orphanRemoval=true) 
List<Merchandiser> merchandiser = new ArrayList<Merchandiser>(); 
Getters and setters.. 

私が含まれている、URLからディストリビュータに同上を取得し、getByIDを使用して次の、適切なDistributorオブジェクトを取得しています出展者は削除したいと思います..

答えて

0

リストの削除方法は、オブジェクト。これのようなものをいくつか。

Iterator x = distributor.getExhibitor().iterator(); 
while(x.hasNext()){ 
    Exhibitor ex = x.next(); 
    if(ex.getExhibitorId()!=null && ex.getExhibitorId().equals(exhibitorId)){ 
     x.remove(); 
     break; 
    } 
} 
+0

ありがとうございます!すべてが動作します:) –

関連する問題