jpa @ManyToOne多个实体

时间:2019-02-15 13:33:04

标签: hibernate jpa

我想做一个普通的MEMO实体。
表格架构如下

CREATE TABLE MEMO(
  resource_id int,
  resource_type varchar(10),
  content varchar(255)
)

每个实体都可以与此MEMO实体相关。
resource_id可以具有其他实体的主键,
这意味着resource_id是允许所有实体的外键。
resource_type是实体的类型。是的,这就像鉴别器。

我不想创建像ITEM_MEMOCATEGORY_MEMOSCHEDULE_MEMO这样的实体...
我认为到目前为止还不错,但是现在我意识到我不知道如何使用JPA来实现该表。

如您所知,@ManyToOne可以有一个对象。
但就我而言,resource_id应该与许多实体相关。

那么...有什么办法做到这一点?

1 个答案:

答案 0 :(得分:2)

为什么不使用联接表呢?您可以简单地将@OneToMany @JoinTable private Collection<Memo> memos添加到所有相关实体(在这种情况下,反向关联当然是不可能的)。

相反,如果只需要@ManyToOne,请查看Hibernate的@Any批注。