gpt4 book ai didi

java - Hibernate 中的多值属性

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

我有以下实体:

____________________             ____________________
| Activity | | Benefit |
------------------ | |------------------|
| activityId:long |-------------| benefitId: long |
| activity:varchar | | activityId: long |
| .... | | benefit: varchar |
-------------------- -------------------|

我可以将它映射到 Hibernate 中吗,这样我就可以结束了:

@Entity
class Activity {
@Id
private Long id;
private String activity;


private List<String> benefits;
}

最佳答案

是的,您可以使用 @ElementCollection 标签。

您的代码如下所示:

@Entity
@Table(name = "Activity")
class Activity {
@Id
@Column(name="activity_id")
private Long id;

@Column(name = "name")
private String activity;

@ElementCollection
@CollectionTable(
name = "Benefit",
joinColumns = @JoinColumn(name = "activityId")
)
private List<String> benefits;

虽然我将表称为 ActivitiesBenefits 而不是 Benefit 以明确表示该表将存储成对的 Activity 和 yield 。此外,不需要 benefitId,因为 yield 是一个弱实体(没有 Activity 就无法存在),因此您也可以放弃它。

引用:https://en.wikibooks.org/wiki/Java_Persistence/ElementCollection

关于java - Hibernate 中的多值属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29496177/

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