MyBatis: How to return the ID of the inserted object under Postgres?
-
27-09-2019 - |
Question
I've got a postgres table where the ID is defined as bigserial
. How
can I use @Insert
and get back the id of the inserted entity? I am
expecting the mapper method to either return the id or populate the id
field inside the entity object. Any ideas?
Solution
NVM, i think i found the answer on the other thread, http://mybatis-user.963551.n3.nabble.com/How-to-return-the-ID-of-the-inserted-object-under-Postgres-td1926959.html
There's the link for anyone else who lands here.
OTHER TIPS
The mapper will return you the number of records that were actually inserted. In order to get back the id of the inserted record, you'll need to add a second annotation (that will populate the id) :
@Options(useGeneratedKeys=true, keyProperty="idSomething")
Note that keyProperty
is not necessary if the identifiyng property is named "id" in your entity object.