powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / [Hibernate] Вставка с указанным первичным ключом
19 сообщений из 19, страница 1 из 1
[Hibernate] Вставка с указанным первичным ключом
    #38136385
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При запуске приложения, если в базе нет данных о "ДЕМО продукте", то нужно данные об этом продукте внести в базу.

В Hibernate выставлен id ~ identity.

Приходится как-то извращаться и вносить sql запрос средствами Hibernate Native sql.

Можно ли как-то сделать вот так:

Код: java
1.
2.
demoProduct.setId(0);
session.saveWithSpecifiedPrimaryKey(demoProduct);


?
...
Рейтинг: 0 / 0
[Hibernate] Вставка с указанным первичным ключом
    #38136403
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри session.replicate(), хотя не уверен что он с identity справится.
...
Рейтинг: 0 / 0
[Hibernate] Вставка с указанным первичным ключом
    #38136499
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaksВ Hibernate выставлен id ~ identity.
по уму нужна колонка - ТипПродукта.
Т.е. обычный справочник.
Тогда и проблемы нет.
..
А так ведь, Пол мужской или женский будем тройкой обозначать))) Id=3
...
Рейтинг: 0 / 0
[Hibernate] Вставка с указанным первичным ключом
    #38136570
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Это-то да, вариант конечно.

Просто в базе тогда будет храниться

одна единственная запись с типом = "demo"
а все остальные с null или "regular"...

а ведь записей много будет
...
Рейтинг: 0 / 0
[Hibernate] Вставка с указанным первичным ключом
    #38136577
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaks,
если один раз в жизни, то уже выносят из динамики в статику .
В коде глобальный параметр и прошивают везде....хоть по имени 'Demo'.
...
Рейтинг: 0 / 0
[Hibernate] Вставка с указанным первичным ключом
    #38136687
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

можно в других словах? Я что-то не понял...
...
Рейтинг: 0 / 0
[Hibernate] Вставка с указанным первичным ключом
    #38136692
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaksможно в других словах? Я что-то не понял...
Если demo-продукт нужен всегда и везде, то может и не за чем, хранить его в базе?
...
Рейтинг: 0 / 0
[Hibernate] Вставка с указанным первичным ключом
    #38136698
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

как это? На него же может ссылатся какой-то другой объект, который будет в базе.
...
Рейтинг: 0 / 0
[Hibernate] Вставка с указанным первичным ключом
    #38136700
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaksPetro123,
можно в других словах? Я что-то не понял...
уже ответили.
1. Нужно знать чем у вас Демо отличается от не Демо.
...
Рейтинг: 0 / 0
[Hibernate] Вставка с указанным первичным ключом
    #38136707
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на ContextListener повесь код своего инсерта, можно через jdbc даже. Если жемо нету - то инсерт пройдет. Если есть - то обрыгается на констрейнте уникальный ключ - ну и леший с ним, зато запись будет гарантированно в базе.
...
Рейтинг: 0 / 0
[Hibernate] Вставка с указанным первичным ключом
    #38136708
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

*мысль: возможно, у нас неправильная архитектура*

ну есть продукция....

и каждый продукт имеет "срок годности", это то время после которого с продуктом нужно обращаться иначе.
и... типа есть демо продукт, который после того , как истекает срок годности - заново рестартует начисляя, скажем +День к сроку годности, и тогда получается, что он снова годный, а через день уже закончится, а через день снова рестарт и так "бесконечно".
...
Рейтинг: 0 / 0
[Hibernate] Вставка с указанным первичным ключом
    #38136729
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaks,
это Демо-поведение-эмуляция-тесты включены в ТЗ заказчиком?
Т.е. разве это нужно заказчику?
Если нет, то эти Демо можно сделать снаружи Модели ТОЛЬКО для себя. Скажем запуская какие нибудь Jobs для списка демо из файла.
Вариант2:
- каждый продукт имеет категорию-тип. Вот завести Доп-категорию не Носки, а ДемоНоски.
У заказчика этой категории не будет.
...
Рейтинг: 0 / 0
[Hibernate] Вставка с указанным первичным ключом
    #38136909
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

это есть по тз.
Да, наверное заведем тип продута
...
Рейтинг: 0 / 0
[Hibernate] Вставка с указанным первичным ключом
    #38136944
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо!
...
Рейтинг: 0 / 0
[Hibernate] Вставка с указанным первичным ключом
    #38137269
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного приоткрою тему обратно...

Мы вот задумались, а что если при старте Hibernate запускать скрипт, который вносит этот самый демо продукт?

Это нормальный подход?
...
Рейтинг: 0 / 0
[Hibernate] Вставка с указанным первичным ключом
    #38137303
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaks,
Ну в виндах же есть автозагрузка.
Только причем тут сабж.
...
Рейтинг: 0 / 0
[Hibernate] Вставка с указанным первичным ключом
    #38137313
pavel_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaks,

если мыслить логически то ДемоПродукт - это номенклатура, а номенклатура обычно не удаляется.
Так что, на мой взгляд, достаточно в процессе развертывания приложения выполнить скрипт с демо записями (первичное наполнение бд)
...
Рейтинг: 0 / 0
[Hibernate] Вставка с указанным первичным ключом
    #38137607
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaksНемного приоткрою тему обратно...

Мы вот задумались, а что если при старте Hibernate запускать скрипт, который вносит этот самый демо продукт?

Это нормальный подход?

А я еще вчера задумался
авторна ContextListener повесь код своего инсерта, можно через jdbc даже. Если жемо нету - то инсерт пройдет. Если есть - то обрыгается на констрейнте уникальный ключ - ну и леший с ним, зато запись будет гарантированно в базе.
...
Рейтинг: 0 / 0
[Hibernate] Вставка с указанным первичным ключом
    #38137758
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник, да, спасибо, учтем на будущее как вариант.

Всем еще раз спасибо!

Проблема решена.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / [Hibernate] Вставка с указанным первичным ключом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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