java JPA复合外键

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java JPA复合外键相关的知识,希望对你有一定的参考价值。

@Embeddable
public class EventID {
    public int eventID;
    public int sourceID;
}

@Entity
public class Event {
    @EmbeddedId
    public EventID id;

    @OneToMany(mappedBy="event")
    public Collection<Meeting> meetings;
}

@Embeddable
public class MeetingID {
    public EventID eventID; // corresponds to ID type of Event
    public int meetingID;
}

@Entity
public class Meeting {
    @EmbeddedId
    public MeetingID id;

    @MapsId("eventID")
    @JoinColumns({
        @JoinColumn(name="EventID", referencedColumnName="EventID"),
        @JoinColumn(name="SourceID", referencedColumnName="SourceID")
    })
    @ManyToOne
    public Event event;
}

以上是关于java JPA复合外键的主要内容,如果未能解决你的问题,请参考以下文章

在 JPA 中使用继承时的复合外键问题

JPA @EmbeddedId 未生成序列

JPA,Composite Key 由外键和表列成员组成

Play 2.3.4 Java - JPA oneToMany 不保存外键。请检查哪里出错了

如何让 jOOQ 生成不引用主键的复合外键?

在复合键和 @ManyToOne JoinColumns 之间共享列