2011-03-19 92 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