|
|
|
Hibernate criteria column concatination
|
|||
|---|---|---|---|
|
#18+
В мэпинге hibernate имеется мэпинг на некоторые поля из бд. В частности <property name="resourceFirstName" type="java.lang.String" column="R_FIRST_NAME"/> <property name="resourceLastName" type="java.lang.String" column="R_LAST_NAME"/> Передомной стоит задача написать hibernate criteria, сравнивающая "concat(resourceLastName, ' ', resourceFirstName)" на совпадения с определенной строкой. Пытался делать несколькими способами: 1. .add(Restrictions.like("resourceFirstName"+" " +"resourceLastName", resourceName).ignoreCase()); 2. определял в мэпинге <property name="fullname" formula="concat(resourceLastName, ' ', resourceFirstName)"/> и создавал соответствующее проперти в бине(private String fullname). В ответ на это выдается ошибка типа - не может найти колонку resourceLastName. Буду благодарен за любые рекомендации) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2012, 12:51:52 |
|
||
|
Hibernate criteria column concatination
|
|||
|---|---|---|---|
|
#18+
Напишите запрос на HQL. Там можно использовтаь конкатенацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2012, 13:09:56 |
|
||
|
Hibernate criteria column concatination
|
|||
|---|---|---|---|
|
#18+
Так раньше и было. Сейчас нужно переделать все под criteria. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2012, 13:24:58 |
|
||
|
Hibernate criteria column concatination
|
|||
|---|---|---|---|
|
#18+
Попробуйте Restrictions.sqlRestriction(...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2012, 13:29:15 |
|
||
|
Hibernate criteria column concatination
|
|||
|---|---|---|---|
|
#18+
А в формуле почему просто плюсом не сконкатенировать? Без функции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2012, 13:34:41 |
|
||
|
Hibernate criteria column concatination
|
|||
|---|---|---|---|
|
#18+
Пробовал делать так .add(Restrictions.sqlRestriction("lower(concat({alias}.resourceLastName, ' ', {alias}.resourceFirstName)) like lower(?)", resourceName, Hibernate.STRING) ); но так тоже не работало. не распознавало строку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2012, 13:34:55 |
|
||
|
Hibernate criteria column concatination
|
|||
|---|---|---|---|
|
#18+
BlazkowiczА в формуле почему просто плюсом не сконкатенировать? Без функции? Вы имеете ввиду что то типа этого?: formula="resourceLastName" +" "+ "resourceFirstName)" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2012, 13:37:28 |
|
||
|
Hibernate criteria column concatination
|
|||
|---|---|---|---|
|
#18+
maldelВы имеете ввиду что то типа этого?: formula="resourceLastName" +" "+ "resourceFirstName)" Да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2012, 13:41:16 |
|
||
|
Hibernate criteria column concatination
|
|||
|---|---|---|---|
|
#18+
maldelПробовал делать так .add(Restrictions.sqlRestriction("lower(concat({alias}.resourceLastName, ' ', {alias}.resourceFirstName)) like lower(?)", resourceName, Hibernate.STRING) ); но так тоже не работало. не распознавало строку. Шо за {alias}? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2012, 13:42:07 |
|
||
|
Hibernate criteria column concatination
|
|||
|---|---|---|---|
|
#18+
попробовал так <property name="fullname" formula="resourceFirstName ' ' + resourceLastName"/> Выдает прежнюю ошибку org.postgresql.util.PSQLException: ERROR: column this_.resourcefirstname does not exist ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2012, 13:45:44 |
|
||
|
Hibernate criteria column concatination
|
|||
|---|---|---|---|
|
#18+
BlazkowiczmaldelПробовал делать так .add(Restrictions.sqlRestriction("lower(concat({alias}.resourceLastName, ' ', {alias}.resourceFirstName)) like lower(?)", resourceName, Hibernate.STRING) ); но так тоже не работало. не распознавало строку. Шо за {alias}? переменная, через которую хибер ссылается на энтити, к которой строится criteria. Я пробовал и с ним и без него - результат одинаковый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2012, 13:47:35 |
|
||
|
Hibernate criteria column concatination
|
|||
|---|---|---|---|
|
#18+
maldelпопробовал так <property name="fullname" formula="resourceFirstName ' ' + resourceLastName"/> Выдает прежнюю ошибку org.postgresql.util.PSQLException: ERROR: column this_.resourcefirstname does not exist <property name="fullname" formula="resourceFirstName + ' ' + resourceLastName"/> так у меня в мэпинге ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2012, 13:49:56 |
|
||
|
Hibernate criteria column concatination
|
|||
|---|---|---|---|
|
#18+
maldelпопробовал так <property name="fullname" formula="R_FIRST_NAME + ' ' + R_LAST_NAME" /> Выдает прежнюю ошибку org.postgresql.util.PSQLException: ERROR: column this_.resourcefirstname does not exist Так в формуле наверное имена колонок надо было указывать, а не свойств. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2012, 13:50:00 |
|
||
|
Hibernate criteria column concatination
|
|||
|---|---|---|---|
|
#18+
maldel , это решение не помогло? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2012, 13:50:52 |
|
||
|
Hibernate criteria column concatination
|
|||
|---|---|---|---|
|
#18+
maldelпеременная, через которую хибер ссылается на энтити, к которой строится criteria. Я пробовал и с ним и без него - результат одинаковый. Та же самая ошибка. Вы путаете SQL - колонки таблицы и HQL - свойства сущности. Если используется sql/native query, то нужно писать имена колонок таблицы в базе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2012, 13:51:10 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=59&tid=2132858]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 326ms |
| total: | 478ms |

| 0 / 0 |
