Mar*_*era 3 hibernate primary-key one-to-one
假设我有人
class Person{
@Id Integer id;
@OneToOne
@JoinColumn(name = "person_id")
Job myJob;
}
Run Code Online (Sandbox Code Playgroud)
和约伯
class Job{
@Id Integer id;
Integer person_id;
@OneToOne
@PrimaryKeyJoinColumn(name = "person_id")
Person currentWorker;
}
Run Code Online (Sandbox Code Playgroud)
在获取时,我无法将Person和Job映射到其他实体.
我做错了什么?
你的代码应该是:
@Entity
public class Person implements Serializable {
@Id Integer id;
@OneToOne
@JoinColumn(name = "id")
Job myJob;
}
@Entity
public class Job implements Serializable {
@Id Integer id;
@OneToOne(mappedBy = "myJob")
Person currentWorker;
}
Run Code Online (Sandbox Code Playgroud)
(付出小心,从Job中删除重复的colum'person_id')
或其他方法共享主键:
@Entity
public class Person {
@Id Integer id;
@OneToOne(cascade = CascadeType.ALL)
@PrimaryKeyJoinColumn
Job myJob;
}
@Entity
public class Job {
@Id Integer id;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
23382 次 |
最近记录: |