• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Accessing parent table data

 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Dear Friends,

I have 2 pojos and its mapping files as follows:

public class OutsourcedProduct
{
private Long id;
private Vendor toBeRepairedBy;
private Set outsourcedProductReceiptList = new HashSet();
......
......
getters and setters
}

public class OutsourcedProductReceipt
{
private Long id;
private OutsourcedProduct parentId;
......
......
getters and setters
}

<hibernate-mapping>
<class name="my.app.OutsourcedProduct" table="outsourced_product">
<id name="id" column="id">
<generator class="native" />
</id>
<many-to-one name="toBeRepairedBy" class="my.app.Vendor" column="toBeRepairedBy" not-null="true" />
<many-to-one name="parentId" class="my.app.ServiceEntry" column="parentId" not-null="true" />
<set name="outsourcedProductReceiptList" inverse="true" lazy="true" table="outsourced_product_receipt">
<key column="parentId" not-null="true" />
<one-to-many class="my.app.OutsourcedProductReceipt" />
</set>
</class>
</hibernate-mapping>

<hibernate-mapping>
<class name="my.app.OutsourcedProductReceipt" table="outsourced_product_receipt">
<id name="id" column="id">
<generator class="native" />
</id>
<many-to-one name="parentId" class="my.app.OutsourcedProduct" column="parentId" not-null="true" />
</class>
</hibernate-mapping>

I want to access the vendor name of 'OutsourcedProduct' from 'OutsourcedProductReceipt'

outsourcedProductReceiptEntry.getParentId().getToBeRepairedBy().getVendorName()

What changes is required in the following query or in pojos and mpping files to acces the vendor name of

OutsourcedProduct?

query = _sessionFactory.getCurrentSession().createQuery("from
OutsourcedProduct inner join fetch outsourcedProduct.parentId
inner join fetch utsourcedProduct.toBeRepairedBy
where outsourcedProduct.parentId = arentId order by
outsourcedProduct.id");

I am a newbie, any help regarding this is greatly appreciated. I am using hibernate 3.x

Thank you.

Sudheer
 
Ranch Hand
Posts: 71
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'm not really sure what you're trying to do in that query, but i think you don't need to do those joins. Hibernate will do that for you - that's the point of the mapping. You only need to select the OusourcedProductReceiped you want then use outsourcedProductReceiptEntry.getParentId().getToBeRepairedBy().getVendorName()

Usually you use joins in your queries when you didn't mapped that relation.
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
reply
    Bookmark Topic Watch Topic
  • New Topic