【发布时间】:2018-12-27 15:04:35
【问题描述】:
有Label、Text和Language三个表:
@Entity
public class Label {
@Id
@GeneratedValue
private Long id;
@ManyToOne
@JoinColumn(name = "text_id")
private Text text;
}
然后是文字:
@Entity
public class Text {
@Id
@GeneratedValue
private Long id;
@Column(name = "text", columnDefinition = "TEXT")
private String text;
@OneToMany(mappedBy = "text")
private List<Label> labels;
@ManyToOne
@JoinColumn(name = "language_id")
private Language language;
}
最后:
@Entity
public class Language {
@Id
@GeneratedValue
private Long id;
@Column(name = "code")
private String code;
@OneToMany(mappedBy = "language")
private List<Text> texts;
}
在Text 实体中拥有两个键text_id 和language_id 的最佳方法是什么,它们应该是唯一的,例如文本表如下所示:
text_id language_id text
------------------------------------
1 1 Example
1 2 Beispiel
然后在LabelRepository 中,我将能够定义我想要文本的哪种语言?
【问题讨论】:
标签: java spring-data-jpa