在hibernate Restrictions.sqlRestriction中重用一个参数?

时间:2010-11-29 07:03:49

标签: java hibernate

让我说我想做

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)

1 个答案:

答案 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()