我的Slick中有一个自定义列,如下所示:
class PgACL(tag: Tag) extends Table[ACL](tag, Some(schemaName), "ACL") {
def id = column[UUID]("ID", O.PrimaryKey)
def resourceSpec = column[ResourceSpec]("RESOURCE_SPEC")
def * = (id, resourceSpec) <>(ACL.tupled, ACL.unapply)
}
和自定义类:
case class ResourceSpec (val resourceType: String, val resourceId: String)
我将它们映射成这样:
implicit val ResourceSpecMapper = MappedColumnType.base[ResourceSpec, String](
resourceSpec => resourceSpec.resourceSpecStr,
str => ResourceSpec.fromString(str)
)
我正在尝试根据自定义列的属性进行过滤查询,但我不知道如何访问它。例如,我希望:
TableQuery [PgACL] .filter(x =&gt; x.resourceSpec.resourceType ===&#34; XYZ&#34;)
但x.resourceSpec返回Rep [ResourceSpec],我不知道如何获得它的资源类型&#34;属性。 有什么帮助吗?