Hi,
I have the following tables:
CREATE TABLE style (
    style_id    CHARACTER VARYING (10)          NOT NULL,
        has_links       BOOLEAN DEFAULT   (false),
        description     CHARACTER VARYING                       NOT NULL,
    PRIMARY KEY (style_id)
);

CREATE TABLE style_fld (
        style_fld_id     CHARACTER VARYING (20) NOT NULL,
    style            CHARACTER VARYING (10) NOT NULL,
    fld_type             CHARACTER VARYING (10) NOT NULL DEFAULT 'STRING',
    position             SMALLINT                               NOT NULL,
        label                    CHARACTER VARYING              NOT NULL,
        help                     CHARACTER VARYING              NOT NULL,
        xml_elem                 CHARACTER VARYING (200) NOT NULL ,
    PRIMARY KEY (style_fld_id)
);

CREATE TABLE style_value (
        style_fld         CHARACTER VARYING (20)        NOT NULL,
        brand             CHARACTER VARYING (8),
        value             CHARACTER VARYING                     NOT NULL,
        PRIMARY KEY (style_fld, brand)
);

I have created the following mappings:

<class-descriptor class="au.com.tt.ccm.beans.Style" table="style">
  <field-descriptor name="mStyleId" column="style_id" jdbc-type="VARCHAR"
primarykey="true" />
  <field-descriptor name="mHasLinks" column="has_links"
jdbc-type="BOOLEAN" />
  <field-descriptor name="mDescription" column="description"
jdbc-type="VARCHAR" />

  <collection-descriptor name="mStyleFlds"
element-class-ref="au.com.tt.ccm.beans.StyleFld" auto-retrieve="true"
    auto-update="false" auto-delete="false" orderby="position" >
    <inverse-foreignkey field-ref="style" />
  </collection-descriptor>
</class-descriptor>

<class-descriptor class="au.com.tt.ccm.beans.StyleFld" table="style_fld">
  <field-descriptor name="mStyleFldId" column="style_fld_id"
jdbc-type="VARCHAR" primarykey="true" />
  <field-descriptor name="style" column="style" jdbc-type="VARCHAR"
default-fetch="true" access="anonymous" />
  <field-descriptor name="mFldType" column="fld_type" jdbc-type="VARCHAR" />
  <field-descriptor name="mPosition" column="position" jdbc-type="INTEGER" />
  <field-descriptor name="mLabel" column="label" jdbc-type="VARCHAR"/>
  <field-descriptor name="mHelp" column="help" jdbc-type="VARCHAR"/>

  <collection-descriptor name="mStyleValues"
element-class-ref="au.com.tt.ccm.beans.StyleFldValue"
auto-retrieve="true"
    auto-update="false" auto-delete="false">
    <inverse-foreignkey field-ref="style_fld" />
  </collection-descriptor>
</class-descriptor>

<class-descriptor class="au.com.tt.ccm.beans.StyleFldValue"
table="style_value">
  <field-descriptor name="style_fld" column="style_fld"
jdbc-type="VARCHAR" default-fetch="true" access="anonymous"
primarykey="true"/>
  <field-descriptor name="mValue" column="value" jdbc-type="VARCHAR" />
  <field-descriptor name="mBrand" column="brand" jdbc-type="VARCHAR"
primarykey="true"/>
</class-descriptor>

Now, I want to get all the styles, and all the associated style_flds all
the associated style_values that match a particular brand.

I was thinking something like this:

Criteria crit = new Criteria();
crit.addEqualTo("style_value.brand", inBrand.getBrandId());
QueryByCriteria query = QueryFactory.newQuery(Style.class, crit);
Iterator iter = broker.getIteratorByQuery(query);

would work for me, but it doesn't. Unfortunately, the docs are not clear
about what to do in this scenario. Also, I would like this to be a left
outer join.

Any help would be appreciated.

Thanks.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to