2012-06-24 5 views
11

가, 내가 진짜 (즉, 단일 정밀도 부동 소수점)을로드 같은 행 파서를 사용하여 PostgreSQL의에서 열을 입력하기 위해 노력하고있어 값 could not find implicit value for parameter extractor: anorm.Column[Float]Anorm 구문 분석 플로트 플레이 프레임 워크 2.0

배정도 유형을 사용할 때 모든 것이 잘 작동합니다. Anorm과 함께 단 정밀도 부동 소수점을 사용할 수 있습니까?

답변

13

당신은 항상 기존에 자신의 열 파서 기지 만들 수 있습니다

implicit def rowToFloat: Column[Float] = Column.nonNull { (value, meta) => 
    val MetaDataItem(qualified, nullable, clazz) = meta 
    value match { 
    case d: Float => Right(d) 
    case _ => Left(TypeDoesNotMatch("Cannot convert " + value + ":" + value.asInstanceOf[AnyRef].getClass + " to Float for column " + qualified)) 
    } 
} 

을하지만 정확 (열 정의에 따라 다름)하지 않을 수 JDBC 드라이버에 의해 반환 된 값의 유형에 일치 .

+1

코드도 여기에서 확인하십시오. https://github.com/isaka/Play20/commit/27f952257d775e1bfb4a0c61de6e0ef9c5a555d6 – Mortimer