Avaje supports generated ids already, its the database which might not support it.
As far as I can see from MySqlPlugin it should be able to get the generated id, though, for hsqldb Avaje has no support at all.
You need to carefully configure it in your ebean.properties.
I've hacked a HsqlDbPlugin together, but I am not sure if it is fully working.
I do not know how to configure it with ebean.properties only.
A rough outline is to
* set ebean.hsqldb-datasource-name.supportsGetGeneratedKeys=true
* ebean.hsqldb-datasource-name.namingconvention.sequence.nextvalprefix=(select next value for
* ebean.hsqldb-datasource-name.namingconvention.sequence.nextvalsuffix=from hsql_dual)
Notice: I am not sure if the configuration is correct.
You also need the dummy table hsql_dual with exactly one row - thats the workaround I found in internet to make the sequence work in hsqldb.