개발새발 - IT 기술블로그

코틀린에서 Room을 사용할 때 PrimaryKey로 설정한 Id를 자동으로 생성하고 1씩 증가시키는 방법에 대해 알아보겠습니다.

 


 

@Entity
data class MusicEntity(
    var id: Long,
    val data1: String,
    val data2: String,
    val data3: Int
)

 

위의 엔티티 구조로 데이터 클래스를 생성하면 테이블의 필드 값을 입력할 때 id를 직접 선언해주지 않으면 에러가 납니다.

 

아래와 같이 Long 데이터 타입의 Id를 PrimaryKey로 생성하고 Room 라이브러리의 autoGenerate = true 옵션을 적용시켜주면, 

 

Insert 과정에서 id를 직접 입력해주지 않아도 자동으로 생성되며 index를 값으로 가집니다.

 

@Entity
data class MusicEntity(
    val data1: String,
    val data2: String,
    val data3: Int
) {
    @PrimaryKey(autoGenerate = true)
    var id: Long = 0
}

 

 

감사합니다.