When I run the example from Cameron McKenzie's book, the User objects are successfully added to the database, but I get the stack shown below. As you can see, this was from the seventh run. Looks like after the commit, the DefaultFlushEntityEventListener looks at the id of the User object, sees that it's still the default null value, and complains.
I'm using hibernate 3.5.2-Final set up with a maven project. I won't post my pom.xml just yet, since I'm hoping this turns out to be something simple to fix.
This is a snippet of code from the program. The trace is triggered by the commit on line 17.