Well, I really recommend using Hibernate JPA instead of legacy Hibernate. One day the legacy version is going to lack support.
But the process is basically the same in both versions of Hibernate. You establish relationships between the 3 tables using constructs such as the @OneToMany/@ManyToOne linkages. Then you determine what you want to use for a working set. Say, for example, that I want to get all Bookings for a Venue on a certain date. I'd make a query that might look something like this:
That would return a collection of bookings (note that I didn't ORDER BY, since I wasn't interested details like that). Since a Booking has a Venue, we look through its venue member (ManyToOne) to match on the ID of the venue we want.
Now we can get venue details from the booking using its getVenue() method to see the venue record. Hibernate has automatically done the SQL JOIN operations out of sight.
Sources may include data from the Fakebook Research Foundation with support from Gargle University