【发布时间】:2022-01-17 07:07:50
【问题描述】:
假设我在 Postgresql 表 entity_b 中有以下数据,它有一个来自表 entity_a 的 id 数组列:
id | e_a_ids[]
---+----------
b1 | a1,a2,a3
b2 | a1,a3
我想在 Hibernate 中用注解映射这两个实体:
@Entity
class EntityA {
Set<EntityB> entityBs;
}
@Entity
class EntityB {
Set<EntityA> entityAs;
}
我找到了适用于数组列的自定义休眠类型的示例,但这些示例适用于原语而不适用于其他实体类型。通过引入另一个映射表,我也可以使用普通的 id 列而不是传统的多对多方法的数组列,但那不是这里要问的问题。
如何在 Hibernate 中为 Postgresql 数据库表映射具有另一个实体的 ids 数组列的双向映射?
【问题讨论】:
-
我不确定 Hibernate 是否支持这一点,至少我不知道有任何这样的映射。用户类型可能是一个选项,但考虑到所有其他要记住的事情(延迟加载、一级缓存、级联等),如果可行的话,这将很难做到。