【发布时间】:2023-03-21 02:20:01
【问题描述】:
我正在处理现有的事件表:
Event Table:
id event_type status ...
== ========== ======
1 high.temperature ACCEPTED
2 missing.invoice WAITING
3 missing.invoice WAITING
目前有几百个 event_types 和五个状态。这个表有数百万行,我想通过使用 event_type 和 status 的查找表来减小它的大小。 status 很好,因为它有少量的静态值,但是 event_type 由外部系统控制,并且我的系统有时会收到带有新值的事件,这些新值必须添加到查找表中。
我相信选择现有的表结构是为了使与 hibernate 的映射变得容易,它做得很好,但会导致很多冗余。
我想要的是这样的:
Event Table:
id event_type status ...
== ========== ======
1 223 3
2 245 4
3 245 4
EventType Table:
event_type name
========== ================
223 high.temperature
245 missing.invoice
我的问题是,有什么方法可以自动插入和选择查找表,这样我就不必为 EventType 定义 Java 类并查找适当的每次插入事件时的事件类型?在 java 方面,我更愿意将 event_type 视为普通字符串,就像现在一样。
【问题讨论】:
标签: java sql oracle hibernate normalization