休眠外键
问题描述:
我有一个Task
表。它有一个外键task_status_id
。
我有一个TaskStatus
表。它有两个主键:task_status_id
和lang_id
。
我有一个LanguageType
表。它有一个主键lang_id
。
休眠外键
我想知道如何映射这种关系在休眠。
答
我想,这可能会做你想要什么:
@Entity
public class Task {
@Id @GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "task_id")
private int id;
@ManyToOne
@JoinColumn(name = "task_status_id")
TaskStatus status;
}
@Entity
public class TaskStatus {
@Id @GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "task_status_id")
private int id;
@ManyToOne
@JoinColumn(name = "lang_id")
LanguageType languageType;
}
@Entity
public class LanguageType {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "lang_id")
private int id;
}
你的意思TaskStatus.task_status_id是主键和TaskStatus.lang_id是一个外键?否则,您似乎有一个引用多列主键的单列外键(Task.task_status_id)。 –
是的,不,TaskStatus有两个主键,task_status_id和lang_id。但是,lang_id也是一个外键。 – guest