Путем Вы сформулировали вопрос, приводит меня полагать, что интервал в Словаре содержит "позицию" объекта по Словарю. Оценка от утверждения, что ключи не хранятся в порядке, что они добавляются, если бы это корректно, который означал бы это ключи. Количество (или.Count - 1, если Вы используете основанный на нуле) должно все еще всегда быть количеством вводимого в последний раз ключа?
, Если это корректно, там любая причина, Вы не можете вместо этого использовать Dictionary< интервал, string> так, чтобы можно было использовать mydict [mydict. Ключи. Количество]?
Вы можете использовать преобразование выражения str . Если это имеет смысл.
str () для преобразования числового или временные значения в читаемую строку
session.createQuery("from P1 where str(id) like :id").setString("id", "%"+s+"%")
Это будет довольно медленно, если у вас нет индекса на основе функции в столбце.