0

我创建了一个名为Image. 它包含我保存在数据库中的图像元数据等。目前我在和之间有one-to-many关系。所以我已经在问题实体的图像列表上声明和注释。这意味着在我的案例中命名的图像表中有一个外键。QuestionImage@OneToMany@JoinColumnquestion_id

我也想在其他关系中使用这个实体。User可以有图像等。但是,这意味着我也需要user_id图像表中的一列。随着这种情况的增长,这似乎是一种不好的方法。

我怎样才能做到这一点?我是否需要使用继承并创建子类QuestionImageUserImage等等?

还是有其他更好(和更简单的方法)?

4

1 回答 1

1

不要定义 JoinColumn。一对多单向关联的默认设置是使用 JoinTable(正是因为这个原因)。

如果您不指定除 之外的任何内容@OneToMany(...),则将使用 JoinTable。@JoinTable您当然可以使用注释自定义其名称和列名。

于 2013-08-31T14:49:09.497 回答