Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MyBatis: How to return the ID of the inserted object under Postgres?

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?

like image 357
Gili Avatar asked Nov 23 '10 20:11

Gili


2 Answers

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.

like image 156
Manur Avatar answered Sep 25 '22 00:09

Manur


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.

like image 27
user519298 Avatar answered Sep 22 '22 00:09

user519298