【发布时间】:2014-10-23 02:38:20
【问题描述】:
我正在使用 Scala 2.10.2 和 Slick 2.1.0。
我有一张看起来有点像这样的桌子:
class MyTable( val tag : Tag ) extends Table[Int,Int,String]( tag, "coordinates" )
{
def x = column[Int]( "x" )
def y = column[Int]( "y" )
def data = column[String]( "data" )
def * = ( x, y, data )
}
现在,我创建了一个案例类:
case class Coordinate( val x : Int, val y : Int )
我想将我的表定义更改为如下所示:
class MyTable( val tag : Tag ) extends Table[Coordinate,String]( tag, "coordinates" )
{
def x = column[Int]( "x" )
def y = column[Int]( "y" )
def data = column[String]( "data" )
def * = ( Coordinate( x, y ), data )
}
但是,这不起作用,因为* 定义中的x 是Column[Int],而不是Int。我知道您可以在表的所有列和案例类之间提供转换,有没有办法像我在这里想要的那样转换一些列?
谢谢。
【问题讨论】: