2015-10-09 68 views
0

屬於關聯關係強制性斯卡拉瘦ORM - 債權關係

我不想定義typeWine作爲可選值,但如果我不把它,我必須在提取方法申報typeWine和我不知道該怎麼做。

在Skinny ORM的documentacion中,它沒有描述如何做到這一點,而且我陷入困境。

package app.models.wine 

import scalikejdbc._ 
import skinny.orm.SkinnyCRUDMapper 

case class Wine (id: Option[Long], typeWine: Option[Type] = None, name: String) 

object Wine extends SkinnyCRUDMapper[Wine] { 
    override def defaultAlias = createAlias("w") 
    override def extract (rs: WrappedResultSet, n: ResultName[Wine]): Wine = new Wine(
    id = rs.get(n.id), 
    name = rs.get(n.name) 
) 
    belongsTo[Type](Type, (w, t) => w.copy(typeWine = t)).byDefault 
} 


package app.models.wine 

import scalikejdbc._ 
import skinny.orm.SkinnyCRUDMapper 

case class Type (id: Option[Long], typeName: String) 

object Type extends SkinnyCRUDMapper[Type] { 
    override def defaultAlias = createAlias("t") 
    override def columnNames = Seq("id", "type_name") 
    override def extract (rs: WrappedResultSet, n: ResultName[Type]): Type = new Type(
    id = rs.get(n.id), 
    typeName = rs.get(n.typeName) 
) 
} 

回答

0

將typeTo/byDefault關係定義爲typeWine並使用resultName提取typeWine值應該適合您。