0 Replies Latest reply on Sep 16, 2005 6:35 PM by Andrew Iggleden

    JBoss OneToMany Retrieval

    Andrew Iggleden Newbie

      I am a newbie and am trying to get these entities to talk.

      I can write to the data to the db (I check with the db manager and the store is in the db) but when I retrieve the data I get the customer details including the address but the StoreList is empty.

      Any ideas ?

      Thanks

      @Entity
      @Table(name = "CUSTOMER")
      public class CustomerCMP implements java.io.Serializable{
      
       private Long id;
       private String name;
       private String contact;
       private AddressCMP address;
       private List<StoreCMP> StoreList;
      
       public CustomerCMP(){}
      
       public CustomerCMP(String Name, String Contact)
       {
      // Debug.print("Create", this);
       this.name = Name;
       this.contact = Contact;
       }
      
       @Id(generate = GeneratorType.AUTO)
       @Column(name = "customerId", nullable = false)
       public Long getId() {
       return id;
       }
       public void setId(Long id) {
       this.id = id;
       }
      
       @Column(name="NAME")
       public String getName() {
       return name;
       }
       public void setName(String name) {
       this.name = name;
       }
      
       @Column(name="CONTACT")
       public String getContact() {
       return contact;
       }
       public void setContact(String contact) {
       this.contact = contact;
       }
      
       @OneToOne(cascade = {CascadeType.ALL})
       @JoinColumn(name = "addressId")
       public AddressCMP getAddress() {
       return address;
       }
       public void setAddress(AddressCMP address) {
       this.address = address;
       }
      
       @OneToMany(targetEntity=com.meerkat.jfr.par.StoreCMP.class,
       cascade={CascadeType.ALL},
       fetch=FetchType.EAGER,
       mappedBy="customer")
       public List<StoreCMP> getStoreList()
       {
       return StoreList;
       }
       public void setStoreList(List<StoreCMP> StoreList)
       {
       this.StoreList = StoreList;
       }
      
       public StoreCMP addToStoreList(StoreCMP store)
       {
       if (this.StoreList == null)
       {
       this.StoreList = new ArrayList<StoreCMP>();
       }
       store.setCustomer(this);
       getStoreList().add(store);
       return store;
       }
       public StoreCMP removeFromStoreList(StoreCMP store)
       {
       getStoreList().remove(store);
       store.setCustomer(null);
       return store;
       }
      }
      
      @Entity
      @Table(name = "STORE")
      public class StoreCMP implements Serializable
      {
       private Long id;
       private String name;
       private AddressCMP address;
       private String code;
       private CustomerCMP customer;
      
       public StoreCMP()
       {
       }
       public StoreCMP(Long id, String Name, AddressCMP address, String code )
       {
       setId(id);
       setName(name);
       setAddress(address);
       setCode(code);
       }
      
       @Id(generate = GeneratorType.AUTO)
       @Column(name="StoreId", nullable=false)
       public Long getId() {
       return id;
       }
       public void setId(Long id) {
       this.id = id;
       }
      
       @OneToOne(cascade = {CascadeType.ALL}, fetch=EAGER)
       @JoinColumn(name = "ADDRESSID")
       public AddressCMP getAddress() {
       return address;
       }
       public void setAddress(AddressCMP address) {
       this.address = address;
       }
       @Column(name="CODE")
       public String getCode() {
       return code;
       }
       public void setCode(String code) {
       this.code = code;
       }
       @Column(name="NAME")
       public String getName() {
       return name;
       }
       public void setName(String name) {
       this.name = name;
       }
      @ManyToOne
      @JoinColumn(name="customerId")
      //@JoinColumn(name="customerId", nullable=false)
      public CustomerCMP getCustomer()
      {
       return customer;
      }
      public void setCustomer(CustomerCMP customer)
      {
       this.customer = customer;
      }
      }