【发布时间】:2023-03-17 20:44:01
【问题描述】:
我有一个需要在多个地方使用的实体类。所以我创建了一个具有如下泛型的类
class Output<T> {
...
private String referencedEntityName;
private T referencedEntity;
...
}
我还有另外两个班级正在使用这个班级
class Process {
...
private List<Output<Process>> outputs;
...
}
另一个使用Output<T>的类是
class Machine {
...
private List<Output<Machine>> outputs;
...
}
当存储在数据库中时,它应该是这样的
+----+------------------------+----------------------+
| id | referenced_entity_name | referenced_entity_id |
+----+------------------------+----------------------+
| 1 | Process | 123 |
+----+------------------------+----------------------+
| 2 | Process | 234 |
+----+------------------------+----------------------+
| 3 | Machine | 345 |
+----+------------------------+----------------------+
我如何做到这一点?
P。 S. 这不完全是像this 这样的继承问题。虽然它可以使用像DiscriminatorValue 这样的接口解决方案来解决,但我不确定。
在这里,两个实体之间存在关系,一个实体在几个其他实体中被引用。我认为这应该通过使用泛型来明确。 此外,可以通过保持相同的关系以其他方式设计此解决方案。我也对此持开放态度。
【问题讨论】:
-
请把问题说清楚,标题难以理解,多对一双向?
-
@XtremeBaumer 我认为这不是重复的。我在这里没有使用继承。我正在使用与泛型的关系
-
@MithatKonuk 是的。与泛型的多对一双向关系
标签: java database hibernate jpa orm