代码之家  ›  专栏  ›  技术社区  ›  ripper234 Jonathan

重用hibernate Restrictions.sqlRestriction中的参数?

  •  1
  • ripper234 Jonathan  · 技术社区  · 15 年前

    假设我愿意

    SELECT * from T where X < 12345 AND Y < 12345
    

    使用Restrictions.sqlRestriction。在我的例子中,X和Y的比较常数是相同的。理想情况下,我只想将它传递给sqlRestriction一次,并通过参数列表中的索引引用它。这可能吗?

    我可以把它传两遍,就像这样:

    Restrictions.sqlRestriction(“X<?是吗?“,{12345,12345}),但我想问是否有一种更优雅的语法,类似于C#的WriteLine允许

    Console.WriteLine("This {0} appears here also {0}", 12345)
    
    1 回复  |  直到 15 年前
        1
  •  2
  •   Ralph    15 年前

    尝试使用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()