@OneToOne bidirectional mapping with @JoinColumn
hibernate, one-to-one, primary-key
Solution
Your code should be:
@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;
}
(pay attemption to remove duplicated colum 'person_id' from Job)
or other approach sharing primary key:
@Entity
public class Person {
@Id Integer id;
@OneToOne(cascade = CascadeType.ALL)
@PrimaryKeyJoinColumn
Job myJob;
}
@Entity
public class Job {
@Id Integer id;
}
Problem
Let's say I have Person ``` class Person{ @Id Integer id; @OneToOne @JoinColumn(name = "person_id") Job myJob; } ``` and Job ``` class Job{ @Id Integer id; Integer person_id; @OneToOne @PrimaryKeyJoinColumn(name = "person_id") Person currentWorker; } ``` I'm not able to map the Person and Job to other Entity, when fetching. What mistake am I doing ?