以下の様なテーブルとクラスがあるとします。

sql

create table `sample`.`member` (id serial, name varchar(64));

class

case class Member(id: Long, hoge: String)

Memberテーブルのnameカラムを、Memberクラスのhogeにマッピングしたいと思っているのですが方法はありますか?

試した実装は以下です。

package domain.models

import scalikejdbc.WrappedResultSet
import scalikejdbc.ResultName
import skinny.orm.SkinnyMapper


case class Member(id: Long, hoge: String)

object Member extends SkinnyMapper[Member] {
  override lazy val defaultAlias = createAlias("m")
  override def extract(rs: WrappedResultSet, n: ResultName[Member]): Member = {
    new Member(
      id = rs.get(n.id),
      hoge = rs.get(n.name)
    )
  }
}

この様な実装をし、以下を実行しました。

Member.findById(1)

すると、

domain.models.Member#name not found. Expected fields are #id, #hoge.

というエラーがでます。