I would suggest reading through the Hibernate In Action book to understand the concepts of hibernate better. I don't necessarily understand things completely, but here is my take on it:
You dont ever deal with IDs when you are working with hibernate. the mapping table of [id, id, id] will be entirely transparent to your code. You will do something like this, assuming User<->Menu is a bi-directional many-to-many relationship:
Code:
(pseudocode)
User u = getUser(id);
Menu m1 = new Menu();
u.addToMenus(m1);
m1.addToUsers(u);
Menu m2 = new Menu();
u.addToMenus(m2);
m2.addToUsers(u);
saveUser(u);
then your hibernate XML file is set up to tell hibernate how to save that down to the right tables, including the ID mapping table and what type of cascading to do. The book has examples.
dan