2010-11-23 10 views
4

私はIDがbigserialと定義されているpostgresテーブルを持っています。どのように @Insertを使用して、挿入されたエンティティのIDを取得できますか?私は です。マッパーメソッドは、idを返すか、エンティティオブジェクト内のid フィールドに値を設定することを期待しています。何か案は?MyBatis:Postgresの下に挿入されたオブジェクトのIDを返すには?

+0

何らかの理由で、これは私のmysqlで動作しません:(http://stackoverflow.com/questions/4283159/howto-return-ids-on-inserts-with-mybatis-in-mysql-with-annotations) – ripper234

答えて

3

マッパーは実際に挿入されたレコードの数を返します。挿入されたレコードのIDを取り戻すためには、2番目の注釈を追加する必要があります (それはIDを移入します):keyPropertyは必要ありません

@Options(useGeneratedKeys=true, keyProperty="idSomething")

。なおidentifiyngプロパティがある場合あなたのエンティティオブジェクトに "id"という名前を付けました。

関連する問題