我正在处理一个现有的事件表:
Event Table:
id event_type status ...
== ========== ======
1 high.temperature ACCEPTED
2 missing.invoice WAITING
3 missing.invoice WAITING
目前有几百个事件类型和五种状态。这个表有数百万行数据,我想通过使用事件类型和状态的查找表来减小它的大小。状态很好处理,因为它只有少量静态值,但是事件类型由外部系统控制,有时我的系统会接收到具有新值的事件,这些值必须添加到查找表中。
我认为现有的表结构被选择是为了使与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类,并且每次插入事件时都要查找相应的EventType?在Java方面,我希望将event_type视为普通字符串,就像现在一样。