Предположим, что у меня есть отношение Master Slave. В базе данных существует одна строка в таблице Master с id = 1. Почему этот следующий код работает:Почему ссылка на удаленный объект работает? Jpa hibernate
Slave slave = new Slave();
slave.setId(1L);
Master master = new Master();
master.setId(1L);
slave.setMaster(master);
em.persist(slave);
Так Master отсоединяется сущность и после совершения refence между ведомым и мастером создается. Зачем? Я хотел бы, чтобы в этом случае мы должны были прочитать строку Master из базы данных с помощью функции «Найти». Где я могу узнать больше об этом?
Какова ваша граница транзакции? Как аннотируются ваши сущности? Если вы хотите прочитать больше - прочитайте спецификацию JPA 2.0. –
В этом случае JPA использует только данный идентификатор мастера. JPA с радостью вставляет вновь созданный ведомый, потому что в таблице уже есть Мастер с идентификатором 1L. –