Вот таблица базы данных
А вот и спящий объект
@Entity
@Table(name = "Timetable", schema = "main")
public class Timetable {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
@Column(name = "Id")
private Integer Id;
@Column(name = "TimeEnter")
private Time TimeEnter;
@Column(name = "TimeOut")
private Time TimeOut;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "weekday_id")
private Weekday weekday;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "employee_id")
private Employee employee;
public Integer getId() {
return Id;
}
public Time getTimeEnter() {
return TimeEnter;
}
public Time getTimeOut() {
return TimeOut;
}
public Weekday getWeekday() {
return weekday;
}
public Employee getEmployee() {
return employee;
}
}
Когда я пытаюсь получить все строки из таблицы, я получаю следующее:
org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (no such column: timetable0_.time_enter)
Что это? Я не могу это понять




Извините, я не могу оставлять комментарии.
Вы пробовали поставить spring.jpa.hibernate.ddl-auto=update в application.properties
В ошибке имя столбца имеет подчеркивание (time_enter), тогда как в вашей базе данных / объекте (TimeEnter) нет столбца, определенного с подчеркиванием. Причина вставки подчеркивания, вероятно, связана с тем, что вы используете ImprovedNamingStrategy. Он устанавливается в вашем объекте Конфигурация или в вашем файле application.properties. См. Пример здесь ... Вы должны исправить либо столбцы в базе данных, либо стратегию именования в вашем коде, чтобы синхронизировать и то, и другое.
Если вам не нужны подчеркивания, вы можете просто не устанавливать стратегию именования или установить для нее значение DefaultNamingStrategy, которое вы обнаружили ранее.
Спасибо, когда я назвал столбцы с подчеркиванием, он наконец заработал