Spring Boot JPA Unknown Column in Field List

Spring Boot JPA unknown column in field list

"That means I should change my column name in MySQL table to account_id"

Yep, this is a good idea because of naming convention, but also you can configure proper naming strategy:


Or you can try to print your column name in lower case. (If your MySQL is Windows based)

@Column(name="accountid", nullable = false, unique = true)

What am I mapping incorrectly? Unknown column in the 'field list'

I was able to resolve the issue by changing the naming strategy in my application.properties file as mentioned in SQL Error: 1054, SQLState: 42S22 Unknown column in 'field list' error Java Spring Boot Mysql error

Thank you all for your help and the vital information regardless.

Cheers :)

Unknown column in 'field list' in cascading persistance

You need to add the @JoinColumn annotation to give the column name value specifically in your TimesheetDay entity.

private Timesheet timesheet;

JPA Unknown Column in Field List

Try to define your join-table mapping manually in JPA. Drop your schema and let JPA create your tables:

Accommodation class

@OneToMany(mappedBy = "accommodation", fetch = FetchType.EAGER, cascade = CascadeType.REMOVE)
private List < Booking > bookings;

Booking class

@ManyToOne(fetch = FetchType.EAGER)
@JoinTable(name = "accommodation_booking_join_table",
joinColumns = {@JoinColumn(name="booking_id")},
inverseJoinColumns = @JoinColumn(name = "accommodation_id"))
private Accommodation accommodation;

Unknown column in field list after trying to create OneToMany relationship

First mistake: you can't use @Column on an association, you must use @JoinColumn.

Second mistake: @OneToMany(mappedBy = "something") means that the @JoinColumn is on the other entity (owning side).

Third mistake: @ElementCollection means that you want a collection of non-entities (Strings, Embeddables or Basic types), but here Vote is an entity.

The mapping in Article should be:

 @OneToMany(mappedBy = "article", cascade = CascadeType.ALL)
private List<Vote> voters = new ArrayList<>();

Fourth mistake: in your UPDATE native query, you can't set Article.voters as it's not a column but a JPA one-to-many collection mapped to the many-to-one Vote.article. That is basic JPA, you'd better read the docs about @ManyToOne management before proceeding.

eg. https://www.baeldung.com/jpa-joincolumn-vs-mappedby

Related Topics

Leave a reply