Как использовать часть внешнего ключа, который является составным первичным ключом другой таблицы, в качестве первичного ключа в спящем режиме? - PullRequest
0 голосов
/ 29 января 2020

У меня есть 2 таблицы. Таблица A содержит составной первичный ключ. Я использую этот ключ в качестве внешнего ключа в другой таблице. но в этой таблице мне нужно иметь составной первичный ключ, где один из столбцов мне нужно взять его из составного ключа таблицы. Я не смог добиться этого с mapsId, так как он принимает целый CK. в любом случае, чтобы достичь этого?

мне просто нужен спящий способ, как показано ниже:

Мне нужно именно так в спящем режиме

1 Ответ

0 голосов
/ 30 января 2020

Вот как вы можете отобразить сущности, соответствующие таблицам базы данных в вопросе SO, с которым вы связались:

@Entity
public class Concert {
  @Id
  Integer id;

  String name;

  ...
}


@Embeddable
public class ConcertDetailsId {
  Date date;

  Integer concertId; // corresponds to PK type of Concert
}


@Entity
public class ConcertDetails {
  @EmbeddedId
  ConcertDetailsId id;

  @MapsId("concertId") // maps concertId attribute of embedded id
  @ManyToOne
  Concert concert;

  BigDecimal cost;

  ...
}

Это то, как вы пытались использовать @MapsId? Если да, в чем была проблема?

Производные идентификаторы обсуждаются (с примерами) в JPA 2.2 spe c в разделе 2.4.1.

...