Use @JoinColumn instead of @Column:
@ManyToOne
@JoinColumn(name="LicenseeFK")
private Licensee licensee;
Using @JoinColumn and @Column together will result in the same error.
Change it to only use: @JoinColumn to fix it.
@ColumnThe JPA @Column annotation is for basic entity attributes, like String, Integer, Date.
So, if the entity attribute name differs from the underlying column name, then you need to use the @Column annotation to specify the column name explicitly, like this:
@Column(name="created_on")
private LocalDate createdOn;
@JoinColumnThe @JoinColumn annotation is used to customize a Foreign Key column name, and it can only be used with an entity association.
So, in your case, because you are using a @ManyToOne association, you need to use @JoinColumn:
@ManyToOne(fetch=FetchTYpe.LAZY)
@JoinColumn(name="LicenseeFK")
private Licensee licensee;
Notice that we set the fetch attribute to FetchType.LAZY because, by default, FetchType.EAGER is used, and that's a terrible strategy.
In my case @VaishaliKulkarni's answer was helpful to identify the problem.
I missed to write field for @Column annotion and it effected on next field.
@Column(name = "account_id")
// I forgot to write field here
@ManyToOne
@JoinColumn(name = "customer_id")
private Customer customer;
So, I was getting exception at "customer" field.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With