powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / spring jpa id
4 сообщений из 4, страница 1 из 1
spring jpa id
    #39256314
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня есть сервис (spring bean) который раздает айдишники (переделать нельзя). Вопрос, как его заинжектить в ентити, что бы можно было в @Prepersist добавить setId(...)? Или надо вручную перед em.persist проходить по всему дереву объектов и вставлять если null при добавлении? Кстати как тогда быть с коллекциями OneToMany например, я создаю объект, добавляю в коллекцию еще пару, всем присваиываю айдишники, затем em.persist и получаю:
javax.persistence.EntityNotFoundException: ... with id XXXX.
То есть, в момент вставки, em смотрит и видит у объектов коллекции айдишники, и резонно говорит, что их нет в базе. Как с этим разрулить? (Я так понял здесь через IdGenerator прокатило бы, но как в него завернуть spring bean?)
Спасибо.
...
Рейтинг: 0 / 0
spring jpa id
    #39256332
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892Вопрос, как его заинжектить в ентити, что бы можно было в @Prepersist добавить setId(...)?
Это какое-то ущербное решение инжектить сервисы в сущности. Сущности имеют свойство вездесущности. Поэтому они должны быть максимально независимы от всего.

no56892(Я так понял здесь через IdGenerator прокатило бы, но как в него завернуть spring bean?)

Вот это уже другой разговор. Можно заинжектить через любую статику, типа такого
http://stackoverflow.com/a/14491429
Да, не очень красиво, но что поделать.
...
Рейтинг: 0 / 0
spring jpa id
    #39258102
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, проблема в том, что в JPA нельзя добавить customIDgenerator.
Пока использую компромисс - @PrePersist + статик обертка над сервисом-генератором айди)).
Или все-таки можно добавить? JPA последняя (2.1 помоему)
Спасибо!
...
Рейтинг: 0 / 0
spring jpa id
    #39258171
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczno56892Вопрос, как его заинжектить в ентити, что бы можно было в @Prepersist добавить setId(...)?
Это какое-то ущербное решение инжектить сервисы в сущности. Сущности имеют свойство вездесущности. Поэтому они должны быть максимально независимы от всего.

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


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