2012-08-02 39 views
0

有沒有簡單的方法使用Activate進行計數查詢?使用Activate框架計數查詢?

我今天做的什麼是這樣的:

transactional {  
    allWhere[NaturalPerson].size 
} 

不過,我不知道這是做事的正確方法。

回答

1

有兩個選項:

all[NaturalPerson].size 

query { 
    (p: NaturalPerson) => where(p isNotNull) select(1) 
}.size 

兩者具有良好的性能,但第二個具有更好的性能,並且可以在版本之後或等於1.0使用-RC2。

請注意,您在沒有條件的情況下使用allWhere。這不會編譯。如果您沒有條件,請使用「全部」。

1

看看框架附帶的測試套件。下面是從QuerySpecs.scala截取的示例性測試:

"support count query" in { 
    activateTest(
    (step: StepExecutor) => { 
     import step.ctx._ 
     step { 
     newEmptyActivateTestEntity 
     newEmptyActivateTestEntity 
     } 
     step { 
     query { 
      (e: ActivateTestEntity) => where(e isNotNull) select (1) 
     }.sum must beEqualTo(2) 
     } 
    } 
) 
}