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

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

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

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


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