我想做一个普通的MEMO
实体。
表格架构如下
CREATE TABLE MEMO(
resource_id int,
resource_type varchar(10),
content varchar(255)
)
每个实体都可以与此MEMO
实体相关。
resource_id
可以具有其他实体的主键,
这意味着resource_id
是允许所有实体的外键。
resource_type
是实体的类型。是的,这就像鉴别器。
我不想创建像ITEM_MEMO
,CATEGORY_MEMO
,SCHEDULE_MEMO
这样的实体...
我认为到目前为止还不错,但是现在我意识到我不知道如何使用JPA来实现该表。
如您所知,@ManyToOne
可以有一个对象。
但就我而言,resource_id
应该与许多实体相关。
那么...有什么办法做到这一点?
答案 0 :(得分:2)
为什么不使用联接表呢?您可以简单地将@OneToMany @JoinTable private Collection<Memo> memos
添加到所有相关实体(在这种情况下,反向关联当然是不可能的)。
相反,如果只需要@ManyToOne
,请查看Hibernate的@Any
批注。