ziki
ziki

Reputation: 519

How to use the Hibernate Join Column?

I have two classes and relations between them. Can`t understand where the problem is. I write code in the next way.

 public class Abiturient {

        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        @Column(name = "id", nullable = false, unique = true, length = 11)
        private Long id;

        @ManyToOne(fetch = FetchType.LAZY)
        @JoinColumn(name = "prizv_id")
        private Prisvishche abiturients_pr;

And mapped one:

public class Prisvishche {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column
    private BigInteger prizv_id;

    @OneToMany(mappedBy = "prizv_id")
    private List<Abiturient> abiturients = new ArrayList();

Upvotes: 0

Views: 72

Answers (1)

Maciej Kowalski
Maciej Kowalski

Reputation: 26492

You cannot point to a database column in a mappedBy. You have to point to an entity field that is the owning side of the relationship and that is:

 @ManyToOne(fetch = FetchType.LAZY)
 @JoinColumn(name = "prizv_id")
 private Prisvishche abiturients_pr;

So your owned side should be:

@OneToMany(mappedBy = "abiturients_pr")
private List<Abiturient> abiturients = new ArrayList();

Upvotes: 1

Related Questions