基于部分外键映射实体集合

时间:2018-06-13 10:22:35

标签: java spring hibernate jpa

我遇到了一个我不知道如何解决的问题。

我有一个像这样的语言实体:

    @Entity
    @Table(name = "lang")
    public class Language {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        @Column(name="lang_id")
        private Long id;

        @NotEmpty
        @Column(name="lang_code")
        private String code;
    }

然后我有一个使用复合主键管理翻译的实体

   @Entity
   @Table(name = "translation")
   public class Translation {

       @EmbeddedId
       private TranslationID id;

       @MapsId("lang_id")
       @JoinColumn(name = "lang_id", referencedColumnName = "lang_id")
       @ManyToOne
       private Language language;

       @NotEmpty
       @Column(name="string")
       private String string;

       public class TranslationID implements Serializable{

           @Column(name = "translation_id", nullable = false)
           private Long translationId;

           @Column(name = "lang_id", nullable = false)
           private Long languageId;
       }

现在,我需要在其他实体中引用基于TranslationID的Translations,这样我就可以获得所有语言的所有可用翻译,但我不知道如何映射这个,因为我只需要使用复合键的一部分。

非常感谢。

0 个答案:

没有答案