2010-11-23 4 views
4

ID가 bigserial으로 정의 된 포스트그레스 테이블이 있습니다. 어떻게 을 사용하여 @Insert을 사용할 수 있으며 삽입 된 엔티티의 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를 다시 얻기 위해, 두 번째 주석을 추가해야합니다 (즉 ID를 채 웁니다) : keyProperty이 필요하지

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

참고하는 identifiyng 속성 인 경우 엔티티 객체에 "id"라는 이름이 지정됩니다.