SqlExceptionHelper : ERROR: column user0_. does not exist
При тестировании oauth2 отправляю post метод
данные есть в БД все должно отрабатывать корректно. Basic Auth также указан. сущность User представлена классом
@Entity
@Table(name = "users", schema = "public")
@Getter
@Setter
@NoArgsConstructor
public class User implements Serializable {
public User(User user) {
this.username = user.getUsername();
this.password = user.getPassword();
this.email = user.getEmail();
this.enabled = user.isEnabled();
this.accountNonExpired = user.isAccountNonExpired();
this.credentialsNonExpired = user.isCredentialsNonExpired();
this.accountNonLocked = user.isAccountNonLocked();
this.roles = user.getRoles();
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column
private String username;
@Column
private String password;
@Column
private String email;
@Column
private boolean enabled;
@Column
private boolean accountNonExpired;
@Column
private boolean credentialsNonExpired;
@Column
private boolean accountNonLocked;
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "role_user", joinColumns = {@JoinColumn(name = "user_id", referencedColumnName = "id")},
inverseJoinColumns = {
@JoinColumn(name = "role_id", referencedColumnName = "id")})
private List<Role> roles;
}
Почему такая ошибка не могу понять
ERROR: column user0_.account_non_expired does not exist
Подсказка: Perhaps you meant to reference the column "user0_.accountnonexpired".
откуда берется account_non_expired?
в БД table users
Ответы (1 шт):
Автор решения: Podushkoved
→ Ссылка
Поскольку имя поля в java указано по-верблюжьи (CamelCase), то к нему нужно добавить его именование в SQL. Примерно так:
@Column(name = "accountnonexpired")
private boolean accountNonExpired;

