1.while doing hibernate joins, is it necessary to create two tables and relate them with primary key and foreign keys? and in MySQL while giving primary key to long datatype, it is not accepting that? Tell me the solution.

2.while doing qne-to-many relation in hibernate, is it necessary to create two tables and relate them with primary key and foreign keys? Clearly explain one-to-many in detail. the Database tables, hbm file, cfg file....

3.why to use set or bag or list... in which hbm file we have to keep one-to-many or many-to-many?