Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / EJB3: Помогите cделать в UPDATE инверсию булева поля / 8 сообщений из 8, страница 1 из 1
01.11.2007, 12:02:05
    #34909783
Andrey_sSs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EJB3: Помогите cделать в UPDATE инверсию булева поля
Нужно написать запрос на JPQL типа:
UPDATE User u SET u.active = ! u.active WHERE u.id = :id

Те, сетить u.active обратное значение. Как написать такой запрос?
...
Рейтинг: 0 / 0
01.11.2007, 12:15:41
    #34909850
expp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EJB3: Помогите cделать в UPDATE инверсию булева поля
не делайте так
...
Рейтинг: 0 / 0
01.11.2007, 12:21:32
    #34909877
Andrey_sSs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EJB3: Помогите cделать в UPDATE инверсию булева поля
Почему нет? Используя нативный SQL я могу написать один единственный запрос:
Код: plaintext
1.
2.
UPDATE user SET active =  case  when active= 0  then  1  when active= 1  then  0  end
WHERE id = :id 
Но мне б хотелось сделать подобное на JPQL
...
Рейтинг: 0 / 0
01.11.2007, 13:38:43
    #34910222
expp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EJB3: Помогите cделать в UPDATE инверсию булева поля
Andrey_sSsНо мне б хотелось сделать подобное на JPQL вы не должны этого хотеть. зачем вам тогда JPA?
...
Рейтинг: 0 / 0
01.11.2007, 22:00:17
    #34911648
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EJB3: Помогите cделать в UPDATE инверсию булева поля
"Andrey_sSs" <nospam@sql.ru>;
Автор: Andrey_sSs
Почему нет? Используя нативный SQL я могу написать один единственный запрос:

UPDATE user SET active = case when active=0 then 1 when active=1 then 0 end
WHERE id = :id
Но мне б хотелось сделать подобное на JPQL
Тема Ответить Сообщение




проще наверно сделать так:
update user set active=1-active where id=:id
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
02.11.2007, 10:22:29
    #34912149
Andrey_sSs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EJB3: Помогите cделать в UPDATE инверсию булева поля
Deady
проще наверно сделать так:
update user set active=1-active where id=:id

Согласен, это красивше.
...
Рейтинг: 0 / 0
02.11.2007, 10:23:33
    #34912154
Andrey_sSs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EJB3: Помогите cделать в UPDATE инверсию булева поля
Andrey_sSs
Согласен, это красивше.
Но это SQL.
...
Рейтинг: 0 / 0
02.11.2007, 17:55:55
    #34914206
DobPilot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EJB3: Помогите cделать в UPDATE инверсию булева поля
Andrey_sSsНужно написать запрос на JPQL типа:
UPDATE User u SET u.active = ! u.active WHERE u.id = :id

Те, сетить u.active обратное значение. Как написать такой запрос?

Ни каких запрсов -)

u.active = !u.active;
em.merge(u);
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / EJB3: Помогите cделать в UPDATE инверсию булева поля / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]