Java 为';创建休眠限制;介于'之间;串
我想比较一个字符串是否大于或等于另两个字符串 例如: “A”和“F”之间的“C”>正确 我试过: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中添加此限制?我想您已经交换了运算符
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"));