我有TranslationBase基础抽象类和两个子类 [entities]:CountryTranslation 和 RegionTranslation,如下所示:
翻译库:
@MappedSuperclass
@IdClass(TranslationBasePK.class)
public abstract class TranslationBase<T> implements Serializable {
@Id
@ManyToOne
@JoinColumn(name = "id")
private T ownerEntity;
@Id
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
@Column(name = "language_id")
private Long languageId;
private String name;
}
国家翻译:
@Entity
@Table(name = "country_translation")
public class CountryTranslation extends TranslationBase<Country> {
}
区域翻译:
@Entity
@Table(name = "region_translation")
public class RegionTranslation extends TranslationBase<Region> {
}
和 TranslationBasePK :
public class TranslationBasePK implements Serializable {
private Long ownerEntity;
private Long languageId;
}
在 DB 上,我发现 CountryTranslation 和 RegionTranslation 表中的 id 列对 Country 表 id 的引用!
我希望 CountryTranslation 引用 Country 和 RegionTranslation 的 id 来引用 Region 类的 id。
注意:国家和地区有 @Id 字段名为 id;