Я использую Spring boot jpa со службами Restful API для вставки нескольких пользователей в массив или список - PullRequest
0 голосов
/ 09 апреля 2020

Как я новичок в Spring boot. Я не совсем ясно о отображениях. Используя отображение @Onetomany в одном объекте и отображение @manytoOne в другом объекте. Используя контроллер, я должен написать функции API REST для одновременной вставки нескольких пользователей в массив или набор. Может ли кто-нибудь предложить какие-либо веб-сайты или предоставить некоторые существующие коды?

Ответы [ 2 ]

0 голосов
/ 09 апреля 2020

MappedBy сигнализирует, что владелец ключа (отношения) находится на другой стороне. Это означает, что, хотя вы связываете 2 таблицы вместе, только одна из этих таблиц имеет ограничение внешнего ключа для другой. MappedBy позволяет вам по-прежнему ссылаться из таблицы, не содержащей ограничения, на другую таблицу.

Если вы все еще хотите использовать @JoinColumn на обеих сущностях, вы можете использовать @JsonManagedReference и @JsonBackReference из com.fasterxml.jackson

Чтобы сохранить несколько записей одновременно, вы можете использовать yourRepository.saveAll(entities)

0 голосов
/ 09 апреля 2020

Отображения @OneToMany и @ManyToOne могут использоваться в соответствии с вашим вариантом использования, независимо от того, требуется ли вам двунаправленное сопоставление или нет. В качестве простого примера рассмотрим следующее:

@Entity
@Table(name="ENTITY_A")
public class EntityA{

    //...

    @OneToMany(mappedBy="EntityA")
    private Set<EntityB> entityBItems;

    // getters and setters
}

@Entity
@Table(name="ENTITY_B")
public class EntityB{

    //...
    @ManyToOne
    @JoinColumn(name="entityA_id", nullable=false)
    private EntityA entityA;

    public EntityB() {}

    // getters and setters
}

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

Подробнее о сопоставлениях article или article . Официальный до c.

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