Как исправить ошибку: "ERROR: invalid input syntax for type bigint: " af8dff03-7f64-42b5-b7b2-ab885cd3ab7f"?

У меня есть следующий кусок кода:

package com.example.demo;

import lombok.RequiredArgsConstructor;    
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;        
import java.util.List;
import java.util.UUID;    

@Repository
@RequiredArgsConstructor
public class ContactRepository {
    private final JdbcTemplate jdbcTemplate;

    public List<Contact> findAll() {
        String query = "SELECT * FROM contact";
        return jdbcTemplate.query(query, new ContactRowMapper());
    }

    public Contact findById(String id) {
        String query = "SELECT * FROM contact WHERE id = '" + id + "'";
        return jdbcTemplate.queryForObject(query, new ContactRowMapper());
    }

    public void save(Contact contact) {
        String query = String.format("INSERT INTO contact (id, first_name, last_name, email, phone) VALUES (' %s ', ' %s ', ' %s ', ' %s ', ' %s ')", contact.getId(), contact.getFirstName(), contact.getLastName(), contact.getEmail(), contact.getPhone());
        jdbcTemplate.update(query);
    }


    public void update(Contact contact) {
        String query = String.format("UPDATE contact SET first_name = '%s', last_name = '%s', email = '%s', phone = '%s' WHERE id = '%s'", contact.getFirstName(), contact.getLastName(), contact.getEmail(), contact.getPhone(), contact.getId());
        jdbcTemplate.update(query);
    }

    public void deleteById(String id) {
        String query = String.format("DELETE FROM contact WHERE id = '%s'", id);
        jdbcTemplate.update(query);
    }
}

У меня воспроизводится ошибка формата:

ERROR: invalid input syntax for type bigint: " af8dff03-7f64-42b5-b7b2-ab885cd3ab7f

Как исправить ошибку?


Ответы (0 шт):