Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

409
Vistas
How to ignore a filed of Entity with Room

I have a data class that I created an Entity from that for my database.

this is my data class:

@Entity
@Parcelize
data class Tapligh(

    @PrimaryKey(autoGenerate = true)
    var id: Long,

    @SerializedName("title") var title: String?,
    @SerializedName("type") var type: Int?,
    @SerializedName("os") var os: Int?,
    @SerializedName("logo") var logo: String?,
    @SerializedName("template") var template: String?,
    @SerializedName("action") var action: String?,
    @SerializedName("date") var date: String?,
    @Embedded
    @SerializedName("videos") var videos: Videos?,

) : Parcelable {

    fun getTaplighType(): Int {

        return when (this.type) {

            0 -> TaplighType.IMAGE.type
            1 -> TaplighType.VIDEO.type
            else -> TaplighType.NATIVE.type
        }
    }
}

@Parcelize
data class Videos(

    @SerializedName("land") var land: String?,
    @SerializedName("port") var port: String?
) : Parcelable

Now by adding below field into my Tapligh data class, I will get an error:

 @Ignore
 @SerializedName("images") var images: List<String>?

I am getting this error:

error: Entities and Pojos must have a usable public constructor. You can have an empty constructor or a constructor whose parameters match the fields (by name and type).
public final class Tapligh implements android.os.Parcelable {
             ^
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

@Ignore in Kotlin classes requires default parameter value and @JvmOverloads annotation:

data class Tapligh  @JvmOverloads constructor(
    ...

    @Ignore
    @SerializedName("images") var images: List<String>? = null
)
over 4 years ago · Santiago Trujillo Denunciar

0

Sometimes new field create an error when class implements Parcelable, so try to remove Parcelable and body of class, put Parcelable and implement members again or just implement Serializable interface instead of Parcelable.

over 4 years ago · Santiago Trujillo Denunciar

0

The provided Taplight has errors:

@PrimaryKey(autoGenerate = true) var id: Long,
@SerializedName("title") var title: String?,
@SerializedName("type") var type: Int?,
@SerializedName("os") var os: Int?,
@SerializedName("logo") var logo: String?,
@SerializedName("template") var template: String?,
@SerializedName("action") var action: String?,
@SerializedName("date") var date: String?,
@Embedded
@SerializedName("videos") var videos: Videos?) {

constructor() : this(0,null,null,null,null,null,null,null,null)

videos seems like the last argument and the constructor was badly called. I don't know if that was a copy-paste or formatting error, but hope it could help.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda