Spring JPA:如何创建/使用查找表?

问题描述 投票:0回答:1

所以我有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)并获取事件

我如何/应该怎么做?

spring jpa kotlin spring-data-jpa
1个回答
0
投票

我认为您不需要查找表。

这看起来更像"JOINED" inheritance mapping strategy的情况。

© www.soinside.com 2019 - 2024. All rights reserved.