Spring JPA: как мне создать / использовать справочную таблицу? - PullRequest
0 голосов
/ 07 мая 2020

Итак, у меня есть 2 разных объекта:

@Entity
data class PickupOrderEvent(
        @Id
        override val id: UUID,

        @Enumerated(EnumType.STRING)
        @Column(nullable = false)
        override val eventType: EventType,


        // other fields...
)

@Entity
data class DeliveryOrderEvent(
        @Id
        override val id: UUID,

        @Enumerated(EnumType.STRING)
        @Column(nullable = false)
        override val eventType: EventType,


        // other fields... different than PickupOrderEvent
)

Оба они наследуются от родительского класса OrderEvent, но у них есть другие (разные) поля.

То, что я в конечном итоге хочу сделать, это получить OrderEvent id и получить это событие из соответствующей таблицы. Однако я не хочу смотреть на обе таблицы (а позже и на другие таблицы), чтобы выяснить, что это за тип. выглядит примерно так:

Events(
   val eventId: UUID, // FK to the other tables PK
   val eventType: EventType
)

Итак, я бы сделал следующее:

1- Посмотрите на эту таблицу и выясните, что такое eventType для этого Ордера.

2- Посмотрите на соответствующие таблицы (в зависимости от eventType выше) и получите событие

Как я могу / должен go об этом?

1 Ответ

0 голосов
/ 08 мая 2020

Я не думаю, что вам нужна справочная таблица.

Это больше похоже на случай стратегии сопоставления наследования «JOINED» .

...