You can use a different table for each object if you want, but it's not required.
If you use the same table the ID's will be unique across all types (which can be useful in itself.
You can actually just do the following and let hibernate default the table and column names.
Code:
<generator class="hilo"/>
If you do want the id's to be generated separately for each type, you can either use hilo configured with a different table for each type, or the MultipleHiLoPerTableGenerator:
http://www.hibernate.org/hib_docs/v3/ap ... rator.html
You also have the option of the Sequence HiLo Generator. This works like a hilo but uses a Sequence to get the hi bits rather than a table holding the next id.
http://www.hibernate.org/hib_docs/v3/ap ... rator.html
As for using the sequence generator. I know in hibernate 2 it was badly implemented which resulted in a serious performance hit. I haven't checked if this has been fixed in hibernate 3.