让我说我想做
SELECT * from T where X < 12345 AND Y < 12345
使用Restrictions.sqlRestriction。在我的情况下,X和Y被比较的常数是相同的。理想情况下,我只希望将它传递给sqlRestriction只一次,并通过参数列表中的索引引用它。这可能吗?
我可以传两次,就像这样:
Restrictions.sqlRestriction(“X&lt;?AND Y&lt;?”,{12345,12345}),但我问是否有更优雅的语法,类似于C#的WriteLine如何允许像
Console.WriteLine("This {0} appears here also {0}", 12345)
答案 0 :(得分:2)
尝试使用hibernate函数instad“手动”编写查询。
例如:
Query query = session.createQuery("SELECT t FROM T t WHERE t.X < :maxValue AND t.Y < :maxValue");
query.setInteger("maxValue", 12345);
query.list()