Hibernate получить запись путем сопоставления значения с 2 конкатными полями - PullRequest
2 голосов
/ 21 декабря 2010

У меня есть значение, которое должно совпадать с конкатенацией двух полей (значение = поле1 + поле2) и возвращать объект результата, соответствующий этому критерию.Могу ли я как-то сделать это с помощью критериев или мне нужно использовать Query для решения этой проблемы?

Спасибо, что ответили.

Ответы [ 2 ]

4 голосов
/ 03 февраля 2013

В Hibernate эта функция не реализована. Есть несколько способов сделать это.

Один использует SQLRestriction, который зависит от базы данных. Еще одно создает поле с объединенной формулой, также зависящей от БД.

Я исправил проблему, создав новый критерий для Hibernate. Вы можете прочитать больше об этом здесь. http://whaticode.com/2013/02/01/hibernate-criteria-concatenate-fields-in-like-and-ilike-operators/

Надеюсь, это поможет.

1 голос
/ 13 июля 2011

Это не очень элегантно, но работает:

result.add (Restrictions.ilike ("dni || this.letter", "%" + dniWithLetter + "%"));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...