spring - Spring JPA:我应该如何创建/使用查找表?
问题描述
所以我有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)并获取事件
我该怎么做/应该怎么做?
解决方案
我认为您不需要查找表。
这看起来更像是“JOINED”继承映射策略的一个案例。
推荐阅读
- css - 请问这里的解决方案是什么?问题是图像中我的名字“Samuel Oniyilo”之间的空格
- android - 钛中 AndroidManifest 中“android:targetSandboxVersion”属性的值无效
- javascript - 如何从创建的元素中的组中获取数组的值
- c++ - 遇到空行时停止输入
- python - 处理py中的异常,程序不给出输出
- mysql - 使用带有 MyISAM 的 Mysql 作为带有石英调度程序的数据库引擎
- angular - 如何在 Windows 10 中杀死系统进程。发送“访问被拒绝”消息
- c# - 如何在运行时将单个 Unicode 代码点转换为字符串?
- php - 未定义索引:wc_order_id
- ruby-on-rails - 如何访问 webpacker 包中的 Rails 环境变量?