ОШИБКА: столбец user0_.id не существует [дубликат]

161
25 января 2022, 11:00
На этот вопрос уже дан ответ здесь:
Hibernate + postgreSQL. При выполнении вылезает ошибка Unable to execute JPA schema generation create command (1 ответ)
Закрыт 2 года назад.

Добавляю обработку исключения на случай перехода по url с неправильным id юзера. Тест срабатывает отлично, ошибка перехватывается и выбрасывается сообщение об ошибке. Когда запуск идет через Application то при переходя по ссылке выбрасывает ошибку

There was an unexpected error (type=Internal Server Error, status=500). could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet

В свою очередь Hibernate выдает ошибку

ОШИБКА: столбец user0_.id не существует

domain.User

@Entity
public class User {
@Id
@GeneratedValue()
private UUID id;
private String username;
private String email;
public UUID getId() { return id; }
public void setId(UUID id) { this.id = id; }
public String getUsername() { return username; }
public void setUsername(String username) { this.username = username; }
public String getEmail() { return email; }
public void setEmail(String email) { this.email = email; }}

Controller

@RestController
@RequestMapping("/api/v1/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
public UserReadDTO getUser(@PathVariable UUID id){
    return userService.getUser(id);
}
}

Service

@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public UserReadDTO getUser(UUID id){
    User user = userRepository.findById(id).orElseThrow(() -> {
        throw new EntityNotFoundException(User.class, id);
    });
    return toRead(user);
}
private UserReadDTO toRead(User user){
    UserReadDTO dto = new UserReadDTO();
    dto.setId(user.getId());
    dto.setUsername(user.getUsername());
    dto.setEmail(user.getEmail());
    return dto;
}
}

Exception

@ResponseStatus(HttpStatus.NOT_FOUND)
public class EntityNotFoundException extends RuntimeException {
    public EntityNotFoundException(Class entityClass, UUID id){
        super(String.format("Entity %s with id=%s is not found", 
    entityClass.getSimpleName(), id));
    }
}
Answer 1

Над классом User добавил аннотацию @Table(name = "users") и переименовал таблицу в init файле.

READ ALSO
Зациклить последовательную анимацию блоков

Зациклить последовательную анимацию блоков

Как сделать последовательную анимацию, чтобы после пятого блока опять повторялся первый блокКаждый блок это отдельный div c классом

73
C++, член-тип шаблона

C++, член-тип шаблона

Рассмотрим следующий код:

74
Как выделить область изображения по цвету?

Как выделить область изображения по цвету?

В ходе работы встала задача выделить соседствующие пиксели по цвету, однако я никак не додумаюсь, как это сделатьЕсли как в одной строке вполне...

107