我想要一个包含 id、名称和值的 java 类(MyClass),其中值可以是原始类型(字符串、int、long)或列表或映射。该类将使用 JPA 2.0 持久化
我的第一个想法是关于具有以下结构的类:
,-----------.
| MyClass |
|...........|
| id |
| name |
| index |
| key |
| value |
'------------
如果存储了原始或列表或地图,则由 getter 和 setter 解析 - 取决于 {index, key, value} 组合。
另一种方法是继承层次结构:
..................... | 抽象类 | ,.- ......''--..__ _,-'' | `--.._ ,-' | ...... ...................... | |地图值类 | | 原始值类| | ...... ...................... | ..................... | 列表值类 | .....................
请记住,我使用 JPA:对于这个问题是否有“标准方法”或“最佳实践”?以某种方式,我可以使用 myClass 并通过 getter 访问值并使用 instanceof Map/List/Integer 决定持有哪种值?