Я должен сохранить картус JPA - PullRequest
0 голосов
/ 23 февраля 2019

Я пытаюсь сохранить сущность, в которой одним из значений является карта.Чтобы быть более точным.У меня есть запрос @Entity, который имеет составной первичный ключ с тремя элементами.Этот первичный ключ состоит из идентификатора, пользователя и Map<EntityType, List<EntityType>>, где первый EntityType - это выбранная служба, а соответствующее значение - список элементов, к которым будет применена служба.Ниже кода, который у меня есть, но мне не хватает аннотации, которую я должен использовать для карты.Я прочитал в Интернете, что хороший способ - это создать объект-оболочку, подобный тому, который я создал (SelectedService2MyItem), который содержит список, а затем карта представляет собой просто пару ключ-значение между двумя объектами, но я не могу заставить ее работатьи я не знаю, как поступитьКто-нибудь может мне помочь?

Запрос сущности

@Entity
public class Request {

    @EmbeddedId
    private RequestId id;

    @Column
    private String name;

    @ManyToOne
    @JoinColumn(name = "user_id", foreignKey = @ForeignKey(name = "FK_user_id"), nullable=false)
    private User user;
//Getter, setter, constructor omitted
}

RequestId

@Embeddable
public class RequestId {

@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

@ManyToOne
@JoinColumn(name = "user_id", foreignKey = @ForeignKey(name = "FK_user_id"), nullable=false)
private User user;

private Map<ServiceOffered, SelectedService2MyItem> service2MyItem = new HashMap<ServiceOffered, SelectedService2MyItem>();

//Getter, setter, constructor omitted
}

SelectedService2MyItem

@Entity
public class SelectedService2MyItem {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id", updatable = false, nullable = false)
    private Long id;

    @OneToMany(mappedBy = "id")
    private List<MyItem> myItemsSelected;

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