gpt4 book ai didi

java - Map,如何让map key引用一个Entity Id?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:30:37 25 4
gpt4 key购买 nike

我有 3 个实体:Company、Developer 和 CompanyDeveloperRoles。

在我的 Developer 类中,我有一张 map :

@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinColumn(name = "fk_developer")
private Map<Long, CompanyDeveloperRoles> companyRoles;

Jpa 创建了 3 个类

Company (company_id, company_name, etc)
Developer (developer_id, developer_name, etc)
company_developer_roles(id, fk_developer, company_roles_key)

enter image description here

如何使我的 company_roles_key 成为公司 id 的外键?目前, map 的 key 与公司之间没有任何关系。我想要 map 的键是公司 ID 的外键。

我的类(class) CompanyDeveloperRoles 看起来像:

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id", updatable = false, nullable = false)
private Long id;

@ElementCollection(targetClass = GaraRolesEnum.class)
@CollectionTable(name = "developer_roles", joinColumns = @JoinColumn(name = "id"))
@Column(name = "dev_role", nullable = false)
@Enumerated(EnumType.STRING)
private Set<GaraRolesEnum> userRoles;

你能帮帮我吗?

最佳答案

你为此使用@MapKey:

@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinColumn(name = "fk_developer")
@MapKey(name="companyRolesKey")
private Map<Long, CompanyDeveloperRoles> companyRoles;

关于java - Map<Long, Entity>,如何让map key引用一个Entity Id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57203399/

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