@turdubekov
Студент

Можно ли в Hibernate одна таблица унаследовало ID второй таблицы?

у меня есть ниже описанные(PartnerInformation, Activity, Address) сущности, как можно сделать, так чтобы сущности Activity и Address унаследовало id от PartnerInformation?

@Data
@Entity
@Builder
@AllArgsConstructor
@NoArgsConstructor
@JsonNaming(PropertyNamingStrategies.UpperSnakeCaseStrategy.class)
public class PartnerInformation {

    @Id
    @GeneratedValue(generator = "UUID")
    @GenericGenerator(
            name="UUID",
            strategy = "org.hibernate.id.UUIDGenerator"
    )
    @JsonIgnore
    private UUID id;

    @JsonProperty("ID")
    public  String externalId;
    private boolean isActive = true;

    @OneToOne(cascade=CascadeType.ALL)
    private Activity activity;

    @OneToMany(cascade=CascadeType.ALL)
    private List<Address> address;
}
  • Вопрос задан
  • 269 просмотров
Пригласить эксперта
Ответы на вопрос 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
Добрый день.
Так может быть вам не нужна связь OneToOne, а нужна @Embeddable для Activity и вместо связи OneToMany для List использовтаь @ElementCollection или @CollectionOfElements для List<Address>
https://stackoverflow.com/questions/8969059/differ...
https://www.baeldung.com/jpa-embedded-embeddable
Если вы хотите встроить ID, то наверное можно глянуть на @EmbeddedId https://www.baeldung.com/spring-jpa-embedded-metho...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы