我有两个实体,Employer
和Language
,它们之间存在多对多关系.每个Employer
可以有多个Language
个字母,并且它们有一个可以说的语言的首选顺序.我希望将首选顺序存储在JOIN表中,并通过Ordered List<Language>
检索它,但我不确定如何在JPA中实现它.
下面是我的Employer
个和Language
个实体的一个例子:
@Entity
public class Employer {
@Id
private Long id;
//.....
@ManyToMany
private List<Language> languages;
//.....
}
@Entity
public class Language {
@Id
private Long id;
//.....
}
数据库表可能如下所示:
employer table:
| id | bigint |
....
language table:
| id | bigint |
....
employer_language table:
| employer_id | bigint |
| language_id | bigint |
| order_index | int |
JPA允许这样做吗?
我曾考虑使用包含Language
作为键和按值排序索引的Map字段,但我认为可能会有更好的解决方案.