Повторное использование параметра в hibernate Restrictions.sqlRestriction? - PullRequest
1 голос
/ 29 ноября 2010

Допустим, я хотел бы сделать

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

, используя Restrictions.sqlRestriction.Константа, с которой сравниваются X и Y, в моем случае одинакова.В идеале я хотел бы передать его в sqlRestriction только один раз и ссылаться на него по индексу в списке аргументов.Возможно ли это?

Я мог бы передать его дважды, например:

Restrictions.sqlRestriction ("X <? AND Y <?", {12345, 12345}), но яя спрашиваю, есть ли более элегантный синтаксис, аналогично тому, как C # WriteLine позволяет такие вещи, как </p>

Console.WriteLine("This {0} appears here also {0}", 12345)

1 Ответ

2 голосов
/ 29 ноября 2010

Попробуйте использовать функции гибернации вместо написания запроса «вручную».

Например:

Query query = session.createQuery("SELECT t FROM T t WHERE t.X < :maxValue AND t.Y < :maxValue");
query.setInteger("maxValue", 12345);
query.list()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...