MyBatis: How to return the ID of the inserted object under Postgres?
-
27-09-2019 - |
문제
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?
해결책
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.
다른 팁
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.