一尘不染

Hibernate(JPA)映射HashMap

hibernate

我的问题围绕着我想用JPA映射的以下结构:

Map<User, List<POJO>>

我的POJO非常简单(没有复合类型等,只有一些原语)。

如何在链接的问题中实施建议?我该如何仅用List部分进行注释@Lob(当我仅对字段进行注释时,会发生类转换错误,因为HashMap无法转换为Blob,这是问题的根源-
我不能仅对值部分进行注释地图)?

我不确定是否需要使包装类型实现实现可包装List的Serializable,还是仅使用ArrayList本身就足够了。而且无论如何,我都无法持久保存此Map实例…

顺便说一句,我愿意就不同的方式提出建议:我可以将List保留为每个User的类成员,尽管我不认为它属于该列表,因为它不是用户数据(例如帐户数据)
;名称,地址等)。它类似于购买,因此我将它们放在类似于实用程序的类(在User类外部)中,该类负责这些购买,以便拥有更多的模块化模型。我想听听关于这听起来是否明智的建议。

任何有帮助的建议都将得到假想的cookie奖励(很明显是赞扬)。
它们在非常非想象的意义上是无脂的。

干杯。


阅读 288

收藏
2020-06-20

共1个答案

一尘不染

如果您有地图,则可能存在一对多关系。将您的列表保留在User中,并使您的POJO成为一个实体,不要傻傻地使用@
Lob,Map是一场灾难,等待发生(哈希值/等于问题),并且无法提供干净的数据库映射。

2020-06-20