如何在Slick DAO中定义一般的get()方法

时间:2014-01-14 23:14:12

标签: scala slick

我习惯于编写SQL或使用像Active Record这样的简单数据库交互工具。 Slick有这个非常精细的功能数据库连接概念,我想了解更多,虽然刚刚开始。

我使用了play-slick,有些人告诉我使用trait DAO(这与Scala Cake Pattern有关)。此外,据说DAO用于放置本来写在object xxx内的常用函数。

现在我正在尝试在DAO中编写一个函数,该函数可以根据调用它的对象从数据库中查询数据,例如:

trait DAO extends Apple with Orange {
   val apples = new Apples //Apples is a class extending Table trait inside Apple trait
   val oranges = new Oranges //same above

   def get() = {...//some mysterious implementation}
}

Object Apples extends DAO { //companion object of Apples class
    ....
}//same for Object Orange

所以现在我可以调用Apples.get()并获取数据库中的所有苹果,但如果我调用Oranges.get(),我可以获取数据库中的所有橙子。有没有办法做到这一点?

0 个答案:

没有答案