powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / hibernate_sequence + spring jdbc
11 сообщений из 36, страница 2 из 2
hibernate_sequence + spring jdbc
    #38964473
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пусть сделает метод получения ID - IDENTITY с триггером
Не выйдет, тогда SEQUENCE с сиквенсом на каждую таблицу
Удачи аффтару!
...
Рейтинг: 0 / 0
hibernate_sequence + spring jdbc
    #38964542
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Alexey TominEntity entity = new Entity(); //entity.id == null
передали в какой-то другой сервис, тот значение сохранил.
- отсоединять объект от сессии хибера нельзя
- сессия хибера должна быть как можно короче, напр 0,01 сек.
Отсюда твой пример не верен.
- либо закрой сессию и получишь ID.
Либо отсоедини от сессии и тогда объект обезличен.

Фигню пишешь.
Ещё раз- создал объект, передал в метод, который его сохранил, и теперь это другой объект - т.к. всё проверяется по equals, который (вполне возможно) включает ID.
...
Рейтинг: 0 / 0
hibernate_sequence + spring jdbc
    #38964562
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Tomin,
Передал по ссылке?
Зачем его сравнивать?
Я вроде описал стандарт работы по документации.
Даже 2 варианта, если бд поддерживает.
...
Рейтинг: 0 / 0
hibernate_sequence + spring jdbc
    #38964775
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Передал по ссылке?
Зачем его сравнивать?

Нет, не надо ничего сравнивать. Меньше кода- меньше ошибок. Лучше вообще софт не писать- ошибок и не будет.
...
Рейтинг: 0 / 0
hibernate_sequence + spring jdbc
    #38964926
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey TominPetro123Передал по ссылке?
Зачем его сравнивать?

Нет, не надо ничего сравнивать. Меньше кода- меньше ошибок. Лучше вообще софт не писать- ошибок и не будет.

сравнивать надо, но зачем сравнивать несохраненную сущность с другой сущностью смысла нет особого.
Все сущности меняют ID внезапно(метод setID ведь есть) если только ID вы не генерируете на уровне app и не передаете в конструктор.
...
Рейтинг: 0 / 0
hibernate_sequence + spring jdbc
    #38964940
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llemingно зачем сравнивать несохраненную сущность с другой сущностью смысла нет особого.
+1
Т.е. взял с БД, изменил и сразу обратно скинул (первый кеш)
тем более что есть приложение лезущее напрямую в БД без ОРМ.
...
Рейтинг: 0 / 0
hibernate_sequence + spring jdbc
    #38965044
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llemingсравнивать надо, но зачем сравнивать несохраненную сущность с другой сущностью смысла нет особого.

Код пишется по принципу "меньше знаешь- крепче спишь". Поэтому код бизнес-логики может не знать, что за объект ему передан, откуда он, сохранён ли он.

Банально- оператор редактирует некий сложный объект в памяти. До попытки сохранить ему надо сказать, можно ли его будет сохранить. Для этого надо лезть в БД (иногда код реально такой, что крыша едет- бизнес, блин, требования). Но редактируемый объект надо исключить из выборки. Если есть ID- всё просто. Если нет- уже надо на null проверку лишнюю ставить- а это лишние проблемы.

llemingВсе сущности меняют ID внезапно(метод setID ведь есть) если только ID вы не генерируете на уровне app и не передаете в конструктор.

Я за суррогатный ключ всегда и везде. Как результат- ID никогда не меняется. А присвоение ID- как уже сказал- лучше делать сразу после создания, вызвав метод (который сам бегает в последовательность БД, а в дальнейшем- ещё и кэширует значения, чтобы БД не грузить, беря оттуда по 10 штук, к примеру).

А метод setId у меня всегда проверяет, что id был null (ну или 0, если long), а если не так- RuntimeException по рукам.
...
Рейтинг: 0 / 0
hibernate_sequence + spring jdbc
    #38965083
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey TominЕсли есть ID- всё просто. Если нет- уже надо на null проверку лишнюю ставить- а это лишние проблемы.
Что спорить? Лучше быть богатым и здоровым.
Только бывает код и на клиенте JS. Когда ID'a ещё нет.
И после строки Create Object - тоже его нет.
Короче аффтар - будет конкретная проблема - пиши)).
Кода нет - ответ стандартный:
- хорошо бы ID пораньше и отсутствие твоего параллельного свинг-приложения.
...
Рейтинг: 0 / 0
hibernate_sequence + spring jdbc
    #38965094
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

спасибо, будем работать дальше :)
...
Рейтинг: 0 / 0
hibernate_sequence + spring jdbc
    #38965196
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey TominЯ за суррогатный ключ всегда и везде. Как результат- ID никогда не меняется. А присвоение ID- как уже сказал- лучше делать сразу после создания, вызвав метод (который сам бегает в последовательность БД, а в дальнейшем- ещё и кэширует значения, чтобы БД не грузить, беря оттуда по 10 штук, к примеру).

А метод setId у меня всегда проверяет, что id был null (ну или 0, если long), а если не так- RuntimeException по рукам.
ты шурупы тоже молотком вкручиваешь? нахрена вот эта ересь про "везде и всегда"?
...
Рейтинг: 0 / 0
hibernate_sequence + spring jdbc
    #38965264
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В схеме "один:многие:один" промежуточная таблица может иметь составной PK. И он не обязательно
должен быть суррогатом.
...
Рейтинг: 0 / 0
11 сообщений из 36, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / hibernate_sequence + spring jdbc
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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