Java 为';创建休眠限制;介于'之间;串

Java 为';创建休眠限制;介于'之间;串,java,hibernate,Java,Hibernate,我想比较一个字符串是否大于或等于另两个字符串 例如: “A”和“F”之间的“C”>正确 我试过: Criteria criteria = session.createCriteria(); criteria.add(Restrictions.ge("START_VALUE_COLUMN", "C")) .add(Restrictions.le("END_VALUE_COLUMN", "C")); 但这对我不起作用 如何在Hibernate中添加此限制?我想您已经交换了运算符

我想比较一个字符串是否大于或等于另两个字符串

例如:

“A”和“F”之间的“C”>正确

我试过:

Criteria criteria = session.createCriteria();
criteria.add(Restrictions.ge("START_VALUE_COLUMN", "C")) 
        .add(Restrictions.le("END_VALUE_COLUMN", "C"));
但这对我不起作用


如何在Hibernate中添加此
限制?

我想您已经交换了运算符

您的标准将导致:

... where START_VALUE_COLUMN >= "C" and END_VALUE_COLUMN <= "C"

哪些是文字,哪些是列名?啊,我明白了。我刚刚更新了-谢谢。现在还不清楚。如果
C
是列,而
A
F
是值,则可以使用
限制。介于(“C”,A,F)
之间。这就是你要找的吗?@DavidWallace C是值,A和F是列。@JimmyT。如果是这种情况,那么OP需要做的就是交换
ge
le
。他只是把他们搞错了。“C”介于开始和结束之间。这意味着开始Ah,因此
Restrictions.ge
意味着comparedToField>=属性。因此
限制。ge(“END\u VALUE\u COLUMN”,“C”)
表示“END\u VALUE\u COLUMN”是>=“C”
限制。ge
表示
END\u VALUE\u COLUMN>'C'
其中
END\u VALUE\u COLUMN
是列/属性,
'C'
是字符串文字/值。这就是你要问的吗?
Criteria criteria = session.createCriteria();
criteria.add(Restrictions.le("START_VALUE_COLUMN", "C")) 
        .add(Restrictions.ge("END_VALUE_COLUMN", "C"));