java - hibernate table per concrete class @AssociateOverride still using parent attribute to join -


i implemented hibernate table per concrete class. , model following,

@entity @inheritance(strategy=inheritancetype.table_per_class) @tablegenerator(name="baseform", table="baseform_sequence", allocationsize=1) public abstract class baseform implements serializable {      @id     @generatedvalue(strategy = generationtype.table, generator="baseform")     @xmltransient     protected long id;      public long getid() {         return id;     }      public void setid(long id) {         this.id = id;     }     @joincolumn(name = "form_id")     @onetomany(cascade = cascadetype.all, fetch = fetchtype.eager)     @cascade(value = org.hibernate.annotations.cascadetype.delete_orphan)     @fetch(fetchmode.subselect)     @orderby("id")     protected list<casenumber> casenumberlist = new arraylist<casenumber>();      public list<casenumber> getcasenumberlist() {         return casenumberlist;     }     public void setcasenumberlist(list<casenumber> casenumberlist) {         this.casenumberlist = casenumberlist;     } } 

i have following 2 entities extending baseform,

@entity @table(name = "form_a") @associationoverrides({      @associationoverride(name = "casenumberlist", joincolumns = @joincolumn(name = "forma_id")) }) public class forma extends baseform  {  }  @entity @table(name = "form_b") @associationoverrides({      @associationoverride(name = "casenumberlist", joincolumns = @joincolumn(name = "formb_id")) }) public class formb extends baseform {  } 

whenever try query baseform , getcasenumberslist() still uses parent joincolumn , doesn't apply associateoverride,

    list<baseform>  baseformlist = new arraylist<baseform>();     detachedcriteria basecr = detachedcriteria.forclass(baseform.class);     basecr.add(restrictions.like("organizationid", orgid, matchmode.anywhere));     basecr.setresulttransformer(criteriaspecification.distinct_root_entity);     baseformlist = (list<baseform>) ht.findbycriteria(basecr);     for(baseform form : baseformlist){             if(!form.getcasenumberslist().isempty()){                      baseformlist.add(form);             }       } 

i appreciate if has idea or fix issue?


Comments

Popular posts from this blog

ruby - Trying to change last to "x"s to 23 -

jquery - Clone last and append item to closest class -

c - Unrecognised emulation mode: elf_i386 on MinGW32 -