2011-03-19 103 views
15

我想实现DAO在斯卡拉如下:如何在Scala中实现DAO?

trait DAO[PK,-T,-Q] { 

    // T is a "value object", PK is a primary key, and Q is query parameters. 

    def create(t:T):Unit 
    def update(t:T):Unit 
    def remove(pk:PK):Unit 
    def find(query:Q):Seq[T] 
} 

是否有意义?它看起来不是“太Java”吗? 您将如何在Scala中设计/实现DAO?

+1

它取决于一个DAO应该是什么样的“心脏” - 这是一个非常主观题;-) – 2011-03-19 16:34:57

+0

什么你想实现吗?是否ORM不可知或实现活动记录模式?如果你想实现活动记录已经有ORMs这样做... – 2011-03-21 12:05:36

+0

根据你在找什么提升提供了一个全功能的ORM,所以你不必推出自己的 – AdamH 2011-04-01 12:47:10

回答

4

我认为Scala允许使用SQL数据库比Java'ish DAO更直接和直接的工作。

你可能想看看http://squeryl.org/在这个伟大的答复中提到的其他框架:https://stackoverflow.com/questions/1362748/wanted-good-examples-of-scala-database-persistence/2318935#2318935

+0

真的很感谢链接到其他答案。非常有帮助,谢谢! – 2013-04-07 22:06:39

+1

对于像我这样磕磕绊绊的人,链接的帖子可以在[internet archive]找到(http://web.archive.org/web/20141006104858/http://stackoverflow.com/questions/1362748/looking-换一个对比-的-阶的持久性的框架/ 2318935)。 – Rumpel 2016-07-04 18:08:26