Часть Spring, которую вы используете, называется Spring data - библиотека, которая позволяет вам использовать JPA в вашем приложении Spring.JPA - это спецификация для фреймворков, называемая ORM (объектно-реляционное отображение).
Для простоты в вашем коде вы больше не используете реляционный подход, а объектный подход.Аннотации, которые вы помещаете в поля ваших классов, используются для определения отображений между ними и таблицами и полями вашей базы данных.
Таким образом, вам больше не нужно вставлять обе сущности по отдельности.Вам нужно создать экземпляр Pc, затем создать экземпляр PcChars и, наконец, добавить символы в список символов компьютера, например:
Pc myPc = new Pc();
PcChars myChars = new PcChars();
myPc.getChars().add(myChars);
И когда вы будете использовать свой репозиторий для сохранениямодификации с этим:
pcRepo.save(myPc);
Реализация JPA автоматически сделает всю работу за вас:
- Вставка строки, соответствующей вашему экземпляру ПК, в таблицу ПК
- Вставка строки, соответствующей вашим символам ПК, в таблицу PC_CHARS
- Устанавливает PC_CHARS.PC_ID с идентификатором только что вставленного идентификатора экземпляра ПК, чтобы создать ссылку между ними.
Не уверен, но я думаю, что ORM также делает это, когда вы добавляете свои символы в экземпляр pc:
myChars.setPc(myPc);
, чтобы сделать взаимную границу между обоими экземплярами.
Обратите внимание, что я использовал произвольные имена полей в соответствии с вашей схемой.