You can create your own ID generator implementing IIdentifierGenerator.
Any way, before do that take a look to all generators NH have because I think that you don't need to create another one (your generator sound like TableGenerator).
In order to your "transaction problem" I think you are wrong. In general the ID generator work out of transaction-scope (I mean when you are working with real POID outside business).
http://www.crionics.com/products/openso ... bjects.pdf
Bye.
P.S. Take a look to our others forums too
http://www.hibernate.org/365.html