1

방 영구 라이브러리를 사용하고 있습니다. 한 테이블에 두 개의 기본 키를 추가해야하며 기본 키 중 하나는 자동 증가이어야합니다. 나는 이것을 달성하기위한 정확한 구문을 모른다. 아래는 내 모델 클래스입니다.룸 영구 라이브러리에서 복합 기본 키를 사용하는 동안 기본 키 자동 증가를 만드는 방법은 무엇입니까?

@Entity(tableName = "newsPapers", primaryKeys = 
{"news_paper_id","news_paper_name"}) 
public class SelectNewsModel { 

private int news_paper_id; 

@ColumnInfo(name = "image_url") 
private String imageUrl; 

@ColumnInfo(name = "news_paper_name") 
private String newsPaperName; 
} 

"news_paper_id"를 자동으로 증가 시키려고합니다. 내가 어떻게 만들 수 있니?

+0

두 개의 기본 키가 필요한 이유는 무엇입니까? 둘 다 같다면? –

+0

@KuLdipPaTel 죄송합니다. 질문을 이해하지 못했습니다. 나는 두 개의 기본 키를 원한다. 하나는 "news_paper_id"이고 다른 하나는 "news_paper_name"입니다. 그리고 "news_paper_id"가 자동으로 증가되기를 원합니다! 나는이 설명이 당신의 의심을 없애기를 바랍니다. –

+0

내 ans를 다시 확인하고 그렇게 해보십시오. –

답변

1

내 지식에 따라 일부D 이후로 우리는 복합 기본 키에서 자동 증가 속성을 가질 수 없으므로이 문제를 해결하기 위해 다른 방법을 찾았습니다. 그래서 지금까지는 방이 직접 UNIQUE 제약 조건을 가지고 있지 않기 때문에 인덱스와 고유 한 제약 조건을 사용했습니다. 아래는 내 작업 코드입니다.

@Entity(tableName = "newsPapers", indices = {@Index(value = 
     {"news_paper_name"}, unique = true)}) 
public class SelectNewsModel { 

    @PrimaryKey(autoGenerate = true) 
    private int news_paper_id; 

    @ColumnInfo(name = "image_url") 
    private String imageUrl; 

    @ColumnInfo(name = "news_paper_name") 
    private String newsPaperName; 
} 
관련 문제