问题
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?
回答1:
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.
回答2:
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.
来源:https://stackoverflow.com/questions/4260428/mybatis-how-to-return-the-id-of-the-inserted-object-under-postgres