The UUID would work great for you, but there would be processing overhead.
Understand that with the code, you can just not set the PK field, and while different appservers handle how to get the PK differently, they are all specified outside of code.
For most cases, you just call the ejbCreate() method with no arguments, and when stored, the appserver will generate it for you based on vendor specifics. I know this works accross WebSphere,
JBoss, WebLogic, and Oracle, MySQL, DB2, UDB, SQLServer.
While I see uses for UUID in clustered environments - that's the only place I see it.