假设我想做
SELECT * from T where X < 12345 AND Y < 12345
使用Restrictions.sqlRestriction。在我的例子中,X 和 Y 所比较的常数是相同的。理想情况下,我只想将它传递给 sqlRestriction 一次,并通过参数列表中的索引引用它。这可能吗?
我可以将它传递两次,如下所示:
Restrictions.sqlRestriction("X < ? AND Y < ?", {12345, 12345}),但我问是否有更优雅的语法,类似于 C# 的 WriteLine 允许这样的东西
Console.WriteLine("This {0} appears here also {0}", 12345)
最佳答案
尝试使用 hibernate 函数而不是“手动”编写查询。
例如:
Query query = session.createQuery("SELECT t FROM T t WHERE t.X < :maxValue AND t.Y < :maxValue");
query.setInteger("maxValue", 12345);
query.list()
关于java - 在 hibernate Restrictions.sqlRestriction 中重用参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4301546/