Pregunta

En Mapper tiene una cadena como clave principal, ¿por qué está el MappedStringIndex no se muestra en la lista de todos los campos que se obtienen a través del Mapper's allFields método

Mi mapeador va así ...

class DummyMapper extends KeyedMapper[String,DummyMapper] {

  def getSingleton = DummyMapper
  def primaryKeyField = dummyCode

  object dummyCode extends MappedStringIndex(this,5)
  {
    override def writePermission_? = true
    override def dbAutogenerated_? = false
    override def dbNotNull_? = true
    override def dbColumnName="dummy_code"
  }
.....

Incluso lo probé, incluso en el fieldOrder. Aún así, el resultado fue el mismo, no se muestra subo DummyMapper.allFields lista

¿Fue útil?

Solución

PrimaryKey Fields (de cualquier tipo de datos) son no incluido en la lista devuelta por allFileds Método del mapeador.

Puedes prepender el campo por separado si quieres

algo como

   var myMapperPrimaryKey=DummyMapper.primaryKeyField
   var fieldList=DummyMapper.allFields.toBuffer[BaseField]
   fieldList.prepend(myMapperPrimaryKey)

// Now fieldList is having the primaryKey along with other fields.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top