@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 ?

Original source