什么类似于SqlSoup for Scala?

时间:2011-07-14 01:18:31

标签: sql scala

哪个现有的Scala数据库API最类似于SqlSoup for Python(SqlAlchemy的一部分)?我在SqlSoup中看到的:一个方便且基本可移植的数据库API,我不需要指定模式,所有类型都是通过反射推断的,但我不必编写原始SQL表达式。另外一个优点是它是一个更完整的数据库包的一部分,它支持“其他所有”(模式规范,ORM等),并且它们共享许多相同的查询抽象。我想Scala 2.9的动态类型可能在这里派上用场。提前谢谢。

1 个答案:

答案 0 :(得分:0)

最相似的是支持Jython的SQLAlchemy 0.6 http://www.sqlalchemy.org/news.html。这意味着您可以在JVM上使用SQLAlchemy并从Java或Scala中调用它。请查看此内容以获取更多详细信息http://www.rexx.com/~dkuhlman/jython_course_03.html#calling-jython-from-java

您可能需要在Jython中编写一些接口代码。

SQLAlchemy的低效率来自SQL与面向对象思维之间的阻抗不匹配。现在你已经选择了一种非面向对象的语言,也许现在是时候离开SQLAlchemy克隆并在线程池上工作,为你提供对SQL数据库的非阻塞访问。当你将问题分解成许多小的简单任务时,演员工作得很好,而且SQLSoup似乎太重了。

也许你也会从SQL数据库前面的memcache中受益。想象一下,您需要通过7个步骤处理SQL请求,以获得所需表单中的数据。如果将所有中间结果保存在内存缓存中,则可以减少命中SQL数据库的次数。演员们可以使用松散的情侣设计,你可以替换演员或插入两个演员。