I think your only option is to do it as two queries and join in code. or just use HQL.
I would ask however, why are you trying to treat unrelated data as if it were related? If Person has an addressID why does it not have a proper association with the Address table? Hibernate tends not to work well when you start trying to do stuff that kind of goes against the logic of relational data. If these entities are really related and you haven't enforced this relationship in your data model it is oly a matter of time before the data becomes corrupt.
It's just for my curiosity because a friend of mine asked me this and it sometimes happen when we deal with legacy apps. Btw, wouldn't the performance be rather bad if we perform the join in code as opposed to in HQL?
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com
subject: [Hibernate] Join without FK Relationship using Criteria