2012-08-01 7 views
4

나는 ormlite에 새로운 오전 그리고 난 내가 사용자 이름 필드의 기본값을 설정해야ormlite의 열에 기본값을 설정하는 방법은 무엇입니까?

@DatabaseField(generatedId = true, canBeNull = false) 
int id; 
@DatabaseField(canBeNull = true) 
String user_type; 
@DatabaseField(canBeNull = true) 
String username; 
@DatabaseField(canBeNull = true) 
String password; 
@DatabaseField(canBeNull = true) 
int id_color; 

같은 일부 필드에 대한 기본 값을 설정합니다. 어떻게해야합니까? 미리 감사드립니다 !!!!

답변

11

사용자 이름 필드의 기본값을 설정해야합니다. 어떻게해야합니까?

나는 ORMLite documentation에서 많은 시간을 보냈습니다. 항상 거기에서 시작해야합니다. 문서 색인으로 이동하여 default value을 조회하면 defaultValue 필드가 @DatabaseField 주석에 있음을 알 수 있습니다. 다음은 javadocs for that field입니다. 다음과 같은

뭔가 작업을해야합니다 :

@DatabaseField(defaultValue = "unknownName", canBeNull = true) 
String username; 
+5

가 어떻게'boolean'의'defaultValue'을 처리해야

그래서 도메인 클래스의 생성자에서, 당신은 다음과 같은이 필드를 초기화한다 (사람이 될 수 있습니다)? 나는 이것이'SQLite'에'int'로 저장되어 있다는 것을 알고 있지만'defaultValue = "1"'도'defaultValue = "true"'도 작동하지 않는 것 같아요. 내가'create '하기 전에'setter'를 사용하여 설정할 수 있지만 이것을 피하기를 희망했습니다. – theblang

+0

@mattblang 부울을 부울로 변경하려고합니다. – anagaf

1

을 그러나 현재 날짜로 날짜 필드를 초기화해야 할 때, 기본값을 사용하는 delecate입니다.

public Person(String user_type,...,Date enrollement){ 
    this.user_type=user_type; 
    //.... 
    // or Calendar.getInstance().getTime() 
    this.enrollement = (enrollement == null) ? new Date() : enrollement; 
} 
관련 문제