technically i agree with gortok. that data model for the child table insinuates that child is a subclass of parent. in geneology that could indeed be true as a child has children and their children have children, etc. in your app, it may or may not be true.
if you cannot change your data model, then you might be able to change your domain model and model that parent/child relationship as a subclass or even by using the composite pattern (i don't know what the parent/child objects really are). i saw an example of the composite pattern a while ago in the hibernate documentation:
http://www.hibernate.org/86.html
if you chose to subclass child of parent then the mapping becomes straightforward with parent and child sharing the same identifier.
hth,
-devon