繁体   English   中英

如何在JPA中的不同关系中使用同一实体?

[英]How to use same entity in different relations in JPA?

我创建了一个名为Image的实体。 它包含我保存在数据库中的图像元数据等。 目前,我在QuestionImage之间存在one-to-many关系。 因此,我在问题实体的图像列表上声明了@OneToMany@JoinColumn注解。 这意味着在我的情况下,图像表中有一个名为question_id的外键。

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM