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

Те, сетить u.active обратное значение. Как написать такой запрос?
...
Рейтинг: 0 / 0
EJB3: Помогите cделать в UPDATE инверсию булева поля
    #34909850
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не делайте так
...
Рейтинг: 0 / 0
EJB3: Помогите cделать в UPDATE инверсию булева поля
    #34909877
Andrey_sSs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему нет? Используя нативный 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
EJB3: Помогите cделать в UPDATE инверсию булева поля
    #34910222
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey_sSsНо мне б хотелось сделать подобное на JPQL вы не должны этого хотеть. зачем вам тогда JPA?
...
Рейтинг: 0 / 0
EJB3: Помогите cделать в UPDATE инверсию булева поля
    #34911648
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"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
EJB3: Помогите cделать в UPDATE инверсию булева поля
    #34912149
Andrey_sSs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Deady
проще наверно сделать так:
update user set active=1-active where id=:id

Согласен, это красивше.
...
Рейтинг: 0 / 0
EJB3: Помогите cделать в UPDATE инверсию булева поля
    #34912154
Andrey_sSs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andrey_sSs
Согласен, это красивше.
Но это SQL.
...
Рейтинг: 0 / 0
EJB3: Помогите cделать в UPDATE инверсию булева поля
    #34914206
DobPilot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / EJB3: Помогите cделать в UPDATE инверсию булева поля
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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