我无法弄清楚如何在项目中组织课程......
我需要向所有工人展示他们的专业(类型)历史。
我在DB中有3个表: 工人:身份证,姓名,地址 专长:id,描述 Worker_Type:id_worker,id_specialty,hire_date
我有:
class Specialty
{
...
}
class Worker
{
private List<Specialty> history;
...
}
如何将专业(Class)映射到两个表(Specialty和Worker_Specialty)以获取有关工作人员隐藏历史记录的所有信息?
也许我必须再创建一个类SpecialtyHistory并将其映射到Worker_Specialty?
答案 0 :(得分:5)
您所描述的内容称为三元关联,或者换言之,多对多关系,包括添加关系本身的信息。有几种映射三元关联的方法,其中一种方法是创建一个如你所提到的SpecialtyHistory类,将关系视为一级实体。如果您不需要hire_date,则可以使用正常的多对多映射。
Hibernate文档提供了有关ternary associations。
的其他信息之前的一些StackOverflow问题:hibernate: ternary association mapping和Ternary (and n-ary) relationships in Hibernate。