• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Hibernate: Simpler query with many subclasses

 
Wirianto Djunaidi
Ranch Hand
Posts: 210
Ruby Ubuntu VI Editor
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
We have object relationship that basically a common entity as the parent with many child classes which specialize with different attribute.
We map those relationship using joined-subclass so parent and each children have their own table.
And there are cases where we would like to query just information that is
available in parent table only. How can we do that? Currently hibernate will
automatically do a join on all the children tables on the query. We are concern on the performance and any limit any database has for the SQL length.

Currently we have close to 40 child tables.

Thanks..
[ September 02, 2004: Message edited by: Wirianto Djunaidi ]
 
Alexandru Popescu
Ranch Hand
Posts: 995
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Have you tried to define as the proxy of child class the parent class?

./pope
 
Gavin King
author
Ranch Hand
Posts: 76
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Basically, there is no really efficient way to handle very deep table-per-subclass mappings in ORM. So we say try to avoid such deep inheritance hierarchies.

However, in Hibernate3, you can use a trick:

http://blog.hibernate.org/cgi-bin/blosxom.cgi/2004/08/25#join

to handle your case (perhaps) more efficiently. There are tradeoffs between this approach and the <joined-subclass> approach. Usually <joined-subclass> is better, since it is less vulnerable to N+1 selects problems.
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic