안드로이드에서 Sqlite를 DB로 사용하는 동안 우리 중 많은 사람들이 테이블 이름, 열 이름을 상수로 저장하는 DbConstants와 같은 클래스를 만듭니다.필드 이름에 대한 별도의 상수 유지를위한 대안
영역 DB의 경우 테이블 및 필드로 각각 열 이름으로 표시되는 POJO 클래스를 준비합니다.
여기에 다른 상수 파일을 만드는 것을 피할 수있는 방법이 있습니까?
사용 케이스 :
POJO 나타내는 사용자 테이블 : 그래서
public class User extends RealmObject {
private String name;
private int age;
@Ignore
private int sessionId;
// Standard getters & setters generated by your IDE…
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
public int getSessionId() { return sessionId; }
public void setSessionId(int sessionId) { this.sessionId = sessionId;
}
}
다음과 같이 우리는 사용자 테이블을 쿼리하는 동안 :
RealmResults<User> result = realm.where(User.class)
.equalTo("name", "John")
.or()
.equalTo("name", "Peter")
.findAll();
내가 같은 리터럴을 사용하려면 돈`t " 이름 "을 입력하십시오. 그래서 다른 우아한 솔루션이나 모범 사례? 당신이 그 일을하는 자동화 된 방법을 원하는 경우에
public class User extends RealmObject {
public static final String NAME = "name";
public static final String AGE = "age";
// Fields, constructors, getters, setters,
}
realm.where(Person.class).equalTo(Person.NAME, "John").findAll();
당신이 한 번 봐 걸릴 수 있습니다 : 평소 연습이 같은 모델 클래스의 정적 최종 상수 데
당신의 세터/getters는 롬복에 익숙하지 않다는 것을 나타냅니다. https://projectlombok.org/features/GetterSetter.html –
@MarcinOrlowski POJO는 Realm 문서에서 직접 볼 수 있습니다 :). 내 것은 다르지 않지만. 흥미로운 링크 주셔서 감사합니다! – binaryKarmic