在 JPA 2.0 中实现三向联接关系

发布于 2024-12-27 18:16:21 字数 220 浏览 0 评论 0原文

我正在尝试在 JPA 2.0 中实现三向连接关系(使用注释)。

我的域名如下: domain diagram

我查看了 @JoinTable 注释,我不知道如何使用它是为了实现这种关系。

有人可以提供线索或代码示例吗?

I am trying to implement a three-way join relationship in JPA 2.0 (using annotations).

My domain is as follows:
domain diagram

I had a look at the @JoinTable annotation and I am not sure how to use it in order to implement the relationship.

Can anyone please provide clues or code samples?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

时光瘦了 2025-01-03 18:16:21

如果我很好地理解你的问题,你实际上有另一个Entity,我们称之为AdvertisementAssignment。然后,该实体应该与每个 3 向对应实体具有 OneToOne 关联。

@Entity
@Table(name = "ADV_ASSIGNMENTS")
public class AdvertisementAssignment {

    private Advertisement advertisement;
    private TimeSlot timeSlot;
    private Day day;

    // other properties definition (e.g. id, assigner etc.)

    // define constructor

    @OneToOne(cascade = CascadeType.ALL)
    public Advertisement getAdvertisement() {
        return this.advertisement;
    }

    public void setAdvertisement(Advertisement advertisement) {
        this.advertisement = advertisement;
    }

    // same for 'timeSlot' and 'day' properties
}

If I understand your question well, you actually have another Entity, let's call it AdvertisementAssignment. Then, this entity should have OneToOne association with each of your 3-way counterparts.

@Entity
@Table(name = "ADV_ASSIGNMENTS")
public class AdvertisementAssignment {

    private Advertisement advertisement;
    private TimeSlot timeSlot;
    private Day day;

    // other properties definition (e.g. id, assigner etc.)

    // define constructor

    @OneToOne(cascade = CascadeType.ALL)
    public Advertisement getAdvertisement() {
        return this.advertisement;
    }

    public void setAdvertisement(Advertisement advertisement) {
        this.advertisement = advertisement;
    }

    // same for 'timeSlot' and 'day' properties
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文