我遇到了一个我不知道如何解决的问题。
我有一个像这样的语言实体:
@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,这样我就可以获得所有语言的所有可用翻译,但我不知道如何映射这个,因为我只需要使用复合键的一部分。
非常感谢。