Boa noite, pessoal!
Tenho minha classe:
package br.com.alura.alugames.dados
import br.com.alura.alugames.modelo.Gamer
import br.com.alura.alugames.utilitario.toEntity
import br.com.alura.alugames.utilitario.toModel
import javax.persistence.EntityManager
class GamersDAO(manager: EntityManager) : DAO<Gamer, GamerEntity>(manager, GamerEntity::class.java) {
override fun toEntity(objeto: Gamer): GamerEntity {
return GamerEntity(objeto.id, objeto.nome, objeto.email, objeto.dataNascimento, objeto.usuario, objeto.plano.toEntity())
}
override fun toModel(entity: GamerEntity): Gamer {
return Gamer(entity.nome, entity.email, entity.dataNascimento, entity.usuario, entity.id).apply { plano = entity.plano.toModel() }
}
}
e:
package br.com.alura.alugames.dados
import javax.persistence.Entity
import javax.persistence.GeneratedValue
import javax.persistence.GenerationType
import javax.persistence.Id
import javax.persistence.ManyToOne
import javax.persistence.Table
@Entity
@Table(name = "gamers")
class GamerEntity(
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
var id: Int = 0,
val nome: String = "Nome do Gamer",
val email: String = "email@email.com",
val dataNascimento:String? = null,
val usuario:String? = null,
@ManyToOne
val plano: PlanoEntity = PlanoAvulsoEntity()) {
}
só que na classe GamersDAO, está acontecendo o seguinte erro nessa linha:
return Gamer(entity.nome, entity.email, entity.dataNascimento, entity.usuario, entity.id)
Type mismatch. Required:String Found:String?
mas o código está igual dos professores.
Pesquisei um pouco sobre o assunto e fala que o Kotlin trata String e String?(possibilidade de ser nulo) de formas diferentes, mas o que não entendi é que o código está igual do repositório. Será que o código do repositório do curso está com erro ou é algo aqui? Alguém poderia ver isso pra mim, por favor?