Можно ли внедрить репозиторий данных Spring в java-хранилище? - PullRequest
0 голосов
/ 14 сентября 2018

Можно ли внедрить репозиторий jpa данных Spring в сущность java (используя hibernate для объявления POJO как постоянной сущности)?

У меня есть модель лица Java, подобная этой.

@Entity
@Table(name="PERSON")
public class Person implements Serializable {
    @Id
    @Column(name="PERSON_ID",nullable=false)
    private UUID personId;
    ...

Вот хранилище данных весны jpa:

public interface PersonRepository extends JpaRepository<Person,UUID> {
    @Query("from Person where Person.id = ?1")
    Person findPersonById(UUID id);

1 Ответ

0 голосов
/ 14 сентября 2018

Нет, и вы никогда не должны этого делать.Объекты JPA обрабатываются в рамках жизненного цикла поставщиков JPA.Спецификация JPA явно запрещает выполнение любых операций с базой данных из PrePersist, PreUdate и т. Д. Прослушивателей.Выполнение всего, что связано с активным постоянством внутри сущности, может привести к неожиданным побочным эффектам.

По поводу вопроса, возможно ли это вообще.Все возможно :), но это не значит, что это хорошая идея.

Вы не сможете контролировать, как данные спящего режима или пружины инициализируют эти объекты.Объекты не управляются к весне, поэтому, если вы хотите на самом деле выполнить какое-то внедрение зависимостей, вам нужно, чтобы AspectJ включил выполнение ткачества кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...