In Scala, what's the most idiomatic way to name the case class equivalent of an ORM class? <p>I have to work with Lift's Mapper (I know there might be better ORMs for Scala, but this is not something I have the power to change right now). Typically, with Mapper, a table is defined this way:</p> <pre><code>package com.sample.model import net.liftweb.mapper._ class Table extends LongKeyedMapper[Table] with IdPK { def getSingleton = Table object other_table_id extends MappedLongForeignKey(this, OtherTable) object date_field extends MappedDate(this) object string_field extends MappedString(this, 255) def toCaseClass = ... } object Table extends Table with LongKeyedMetaMapper[Table] </code></pre> <p>Now I'd like to define a case class for Table to manipulate the records more easily, as Mapper is not very "Scala-idiomatic", not very type-safe, and definitely not immutable. My case class would look like this:</p> <pre><code>case class TableCC(id: Long, otherTableId: Long, dateField: Option[Date], ...) { def toMapper = ... } </code></pre> <p>How should I name the case class and where should I put it?</p> <ol> <li>In com.sample.model with a different name (TableCC or TableCaseClass)?</li> <li>In a different packagge (e.g. com.sample.model.caseclass) with the same name (Table)?</li> <li>In the Table object?</li> <li>...?</li> </ol>