在Hibernate中,如何创建由外键组成的复合主键?

时间:2016-06-24 04:03:02

标签: java mysql hibernate

我有几个关于l10n的Any-to-Many关系的链接表。

我有一个表Foo,链接表FooLanguageTranslation表。

目前,我有这个:

Foo.java

@Entity
@Table
public class Foo {

    // ...

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "foo")
    @Cascade(CascadeType.ALL)
    private Set<FooLanguage> languages;

    // ...
}

FooLanguage.java

@Entity
@Table
public class FooLaguage {

    @Id
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "foo_id")
    private Foo foo;

    @Id
    @OneToOne(fetch = FetchType.EAGER)
    @Cascade(CascadeType.ALL)
    @JoinColumn(name = "translation_id")
    private Translation translation;
}

Translation.java

@Entity
@Table
public class Translation {

    // ...

    // no back refs

    // ...

}

这不起作用,因为它要求我提供IdClass定义。

需要帮助,谢谢!

0 个答案:

没有答案