2017-11-03 11 views
0

하바 클래스 :코 틀린 및 @Transient

e: error: Class "MessageDTO" contains illegal transient field "deliveredToServer". e:

e: java.lang.IllegalStateException: failed to analyze: org.jetbrains.kotlin.kapt3.diagnostic.KaptError: Error while annotation processing

어떤 문제가 될 수 :

open class MessageDTO : RealmObject, Serializable { 

    @PrimaryKey 
    @SerializedName("message_id") 
    var messageId: String? = null 

    @SerializedName("chat") 
    var chat: String? = null 

    @SerializedName("chat_type") 
    var chatType: String? = null 

    @SerializedName("content") 
    var content: ContentDTO? = null 

    @SerializedName("created") 
    var created: Date? = null 

    @SerializedName("from") 
    var from: String? = null 

    @SerializedName("important") 
    var important: Boolean? = null 

    @SerializedName("is_first") 
    var isFirst: Boolean? = null 

    @SerializedName("is_group") 
    var isGroup: Boolean? = null 

    @SerializedName("is_last") 
    var isLast: Boolean? = null 

    @SerializedName("linked_messages") 
    var linkedMessages: RealmList<MessageDTO>? = null 

    @SerializedName("links") 
    var links: RealmList<ModelLinks>? = null 

    @SerializedName("read") 
    var read: Boolean? = null 

    @SerializedName("to") 
    var to: String? = null 

    @Ignore 
    var displayName: String? = null 

    @Ignore 
    var authorPhoto: ModelIcons? = null 

    @Transient 
    var deliveredToServer: Boolean = false 

및 오류를 컴파일 deliveredToServer 변수 @Transient를 사용하지만이 필요?

+1

'@field : [Transient]'를 사용해도 제대로 작동하는지 확인할 수 있습니까? – Joshua

+0

렐름의 버전은 무엇입니까? – EpicPandaForce

+0

@EpicPandaForce'3.1.3' –

답변

2

과도 필드는 3.1.3에서 지원되지 않으므로 @Ignore으로 명시 적으로 무시해야합니다.

변경 로그를 참조하십시오.

3.2.0 (2017-05-16)

Transient fields are now allowed in model classes, but are implicitly treated as having the @Ignore annotation (#4279).

+0

고맙습니다. –