For me it sounds principal right what you do first.
But I recommend to use a different database not the HSQLDB.
To analyze your problem you should attach the related WARN message. Maybe it helps if you set 'org.hibernate' to TRACE for your test to see more.
A stateful session with extended persistence context looks not correct because this looks like a typical stateless call to me.