用于 int 值的 Spring Data MongoRepository 之间

问题描述

一个类如(这是kotlin,但代码很容易理解):

@Repository
interface scoresRepository : MongoRepository<score,String> {
    fun countAllByscoreIsBetween(min: Int,max: Int): Int
}

@Document
data class score(
    @Id var score: Int,)

之间是包含的还是不包含的?也就是说,如果我有 1-10 分,我打电话给: countAllByscoreIsBetween(3,6) 我会得到 4 个还是 2 个?或者其他的东西 - 底部是包容性的,顶部是独占的?

解决方法

测试(使用 testcontainers)显示:

@Autowired
lateinit var scoresRepository: ScoresRepository

@Test
fun test() {
    for (i in 1..10) {
        scoresRepository.save(Score(score = i))
    }

    val count = scoresRepository.countAllByScoreIsBetween(3,6)

    assertThat(count).isEqualTo(2)
}

据我所知,两个参数都不包括在内。也就是说,Between 表示值之间的所有内容,不包括值本身。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...