I already use the implementation class name in the mapping, i.e.
This is my mapping:
Code:
        <many-to-one
            name="businessReportInfo"
            class="com.whatever.model.hibernate.BusinessReportInfoHPB"
            cascade="all"
            outer-join="auto"
            update="true"
            insert="true"
            access="property"
            foreign-key="fk_BRI_C_business_report_info"
            column="fk_business_report_info"
        />
These are the setters:
Code:
   public com.whatever.model.BusinessReportInfoDOI getBusinessReportInfo() { return this.businessReportInfo; }
   public void setBusinessReportInfo(com.whatever.model.BusinessReportInfoDOI aBusinessReportInfo) { this.businessReportInfo = aBusinessReportInfo; }
However I still get proxies that just implement the IBusinessReportInfo, but that don't inherit from the object BusinessReportInfoHPB.