【发布时间】:2015-03-28 02:28:15
【问题描述】:
我正在使用 PostgreSQL 的 PostGIS 扩展,我正在尝试从表中检索 PGgeometry 对象。
这个版本运行良好:
import java.sql.DriverManager
import java.sql.Connection
import org.postgis.PGgeometry
object PostgersqlTest extends App {
val driver = "org.postgresql.Driver"
val url = "jdbc:postgresql://localhost:5432/gis"
var connection:Connection = null
try {
Class.forName(driver)
connection = DriverManager.getConnection(url)
val statement = connection.createStatement()
val resultSet = statement.executeQuery("SELECT geom FROM table;")
while ( resultSet.next() ) {
val geom = resultSet.getObject("geom").asInstanceOf[PGgeometry]
println(geom)
}
} catch {
case e: Exception => e.printStackTrace()
}
connection.close()
}
我需要能够使用 Slick 自定义查询来做同样的事情。但是这个版本不行:
Q.queryNA[PGgeometry]("SELECT geom FROM table;")
并给我这个编译错误
Error:(50, 40) could not find implicit value for parameter rconv: scala.slick.jdbc.GetResult[org.postgis.PGgeometry]
val query = Q.queryNA[PGgeometry](
^
有没有一种简单的方法可以在 Slick 中添加 PGgeometry 数据类型,而无需将返回的对象转换为字符串并进行解析?
【问题讨论】:
标签: postgresql scala postgis slick