Как сделать сопоставление @ManyToOne с помощью таблицы ссылок? - PullRequest
0 голосов
/ 16 марта 2019

В моей базе данных есть следующие таблицы:

CREATE TABLE TRD_parties (
    id long NOT NULL AUTO_INCREMENT,
    name varchar(255),
    shortname varchar(16),
    PRIMARY KEY (id)
);

CREATE TABLE TRD_funds (
    id long NOT NULL AUTO_INCREMENT,
    shortname varchar(16),
    name varchar(255),
    units float,
    party_id long,
    PRIMARY KEY (id),
    FOREIGN KEY (party_id) REFERENCES TRD_parties(id)
);

CREATE TABLE TRD_funds_available4party (
    party_id long,
    fund_id long,
    FOREIGN KEY (party_id) REFERENCES TRD_parties(id),
    FOREIGN KEY (fund_id) REFERENCES TRD_funds(id)
);

1 Фонд принадлежит только одной Стороне, а 1 Сторона имеет список фондов.Сущности выглядят так:

public class Fund{

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

@ManyToOne(cascade = CascadeType.ALL)//no problem with this mapping
@JoinColumn(name = "partyId")
private Party party;


@Entity
@Table(name = "TRD_parties")
public class Party{

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@OneToMany(fetch = FetchType.LAZY, mappedBy="availableFunds")//this is wrong how to map it?
private List<Fund> availableFunds;

Мой вопрос похож на сущность Стороны: Как я могу использовать сопоставление, чтобы назначить Список доступных средств (описан в привязке таблицы TRD_funds_available4party) к партии?

Я нашел несколько советов здесь , но сначала я не знаю, как адаптировать этот пример к моей ситуации, а во-вторых, будет ли он работать в Hibernate 5 с Spring Boot?

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