gpt4 book ai didi

java - 如何在JPA中的不同关系中使用相同的实体?

转载 作者:行者123 更新时间:2023-12-01 14:10:40 24 4
gpt4 key购买 nike

我创建了一个名为Image的实体。它保存我保存在数据库中的图像元数据等。目前,我在 QuestionImage 之间有一个一对多关系。因此,我在相关实体的图像列表上声明了 @OneToMany@JoinColumn 注释。这意味着在我的例子中,图像表中有一个名为 question_id 的外键。

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

我该怎么做?我是否需要使用继承并创建子类,例如 QuestionImageUserImage 等?

或者还有其他更好(更简单的方法)吗?

最佳答案

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

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

关于java - 如何在JPA中的不同关系中使用相同的实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18549358/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com