java - 不指定所有者类的 OneToMany

标签 java sql database hibernate orm

我如何将带有图像的产品作为 oneToMany 加入 没有指定所有者的类别? 要为不同所有者的表使用“图像”?

@Entity
@Table(name = "product")
public class Product extends BaseModel {//baseModel has 'id' column
@Column
private List<Image> images;
}
}

@Entity
@Table(name = "image")
public class Image extends BaseModel {//baseModel has 'id' column
@Column 
private Object owner;
}

最佳答案

JPA 通常以这种方式工作。

你的实体 Product 应该装饰成这样:

@OneToMany(mappedBy="imageId")
private List<Image> images;

对于任何其他表,您只需将 mappedBy 列指定为专有名称

你的实体图片应该装饰成这样:

@ManyToOne
@JoinColumn(name="imageId", nullable=false)
private Product product

如果你想重用某个实体,我认为这是不可能的。最好的想法是不要实际使用@xTox 关系,它们只会带来痛苦

关于java - 不指定所有者类的 OneToMany,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52314025/

相关文章:

java - 避免两个 for 循环并将它们合并为一个的更有效方法?

sql - SQL Server 2008 TIME 的精度可以降低到只有几小时和几分钟吗?

database - 在 Perl 中外部存储散列数据

mysql - 数据库设计: Value(s) per user per day

java - 计算时差

java - 计算字符串数组中每个元素的数量

java - 为什么 Java 中的扩充赋值运算符会给出不同的结果?

mysql - 在两个 MySQL 数据库之间传输数据,无需进行不必要的架构更改

mysql - SQL - 考虑键入的多行总和

mysql - 重新整理返回的数据,将字段值设置为新列