Below are my two entities, Campaign and AdSlot with the relationship stored in 
campaign_adslot_xref. (all the other info has been removed for brevity)

One of the older positings mentioned something about ensuring that both equals 
and hashCode are implemented. I am not implementing those methods, could that 
be it? 


  | 
  | @Entity
  | @Table(name="campaign")
  | public class Campaign implements Serializable {
  |     private Set<AdSlot>   adSlots;
  | 
  |     @ManyToMany(cascade = {CascadeType.ALL}, fetch = FetchType.EAGER, 
mappedBy="campaigns")
  |     public Set<AdSlot> getAdSlots() {
  |           return adSlots;
  |        }
  | 
  |     public void setAdSlots(Set<AdSlot> adSlots) {
  |         this.adSlots = adSlots;
  |     }
  | }
  | 
  | @Entity
  | @Table(name="ad_slot")
  | public class AdSlot implements Serializable {
  |     private Set<ParentCampaign> campaigns;          
  |     
  |     @ManyToMany(cascade = {CascadeType.ALL}, fetch = FetchType.LAZY)
  |     @JoinTable(name = "campaign_adslot_xref",
  |                                joinColumns = {
  |                                           @JoinColumn(name = "ad_slot_id")
  |                                           },
  |                        inverseJoinColumns = {
  |                                           @JoinColumn(name = "campaign_id")
  |                                             }
  |                    )
  |    public Set<ParentCampaign> getCampaigns()
  |    {
  |       return campaigns;
  |    }
  |     
  |    public void setCampaigns(Set<ParentCampaign> campaigns) {
  |       this.campaigns = campaigns;
  |    }
  | }
  | 

And here is the code in my backing bean where I try to remove all the 
associations from this particular campaign:


  | 
  | 
  |         Set<AdSlot>adslots = currentCampaign.getAdSlots();
  | 
  |             if (null != adslots && adslots.size() > 0) {
  | 
  |                 for (AdSlot as : adslots) {
  | 
  |                         as.getCampaigns().remove(currentCampaign);
  | 
  |                 }
  | 
  |             }
  | 
  |         
  | 
  |         currentCampaign.getAdSlots().clear();
  | 
  |         Set<Ad> ads = currentCampaign.getAds();
  | 
  |             if (null != ads && ads.size() > 0) {
  | 
  |                 for (Ad a : ads) {
  | 
  |                         a.getAdSlots().clear();
  | 
  |                 }
  | 
  |             }
  | 
  | 


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3961160#3961160

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3961160
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to