【发布时间】:2016-09-30 06:08:34
【问题描述】:
问题:我是否能够以某种方式将我的实体类的两个字段映射到数据库中的一个列?
场景:数据库未完全规范化。存在一个包含复合信息的列。这不是我的实际用例,但一个易于理解的示例可能是平面中某个点的 X 坐标和 Y 坐标。所以数据库可能包含一个字符串12:45,而实体类应该只包含两个整数字段x,宽度值12和y,值45。
目前,Entity 类只有两个用于 x 和 y 的额外 getter 和 setter,并执行正确的转换。但我想知道是否有办法让 JPA 在后台神奇地为我做这件事。
我已经在使用自定义转换器类,例如用于枚举和数据库列之间的正确映射,但这仅适用于实体类中的字段和数据库中的列之间的“一对一”映射。
当然,重新设计数据库中的表是最可取的方式,但目前不是一个选择。
供应商特定的解决方案也可以。
【问题讨论】:
-
从未听说过,但我能知道什么,我是约翰·斯诺。
标签: jpa eclipselink jpa-2.0 jpa-2.1