У меня есть сущность
public class Arena {
@Id
private final Long id;
@Embedded(onEmpty = Embedded.OnEmpty.USE_NULL)
final Point location;
}
Точка взята из пакета org.springframework.data.geo.
и схему Postgres к нему
CREATE TABLE arena
(
id SERIAL NOT NULL
CONSTRAINT arena_pk
PRIMARY KEY,
location POINT
);
когда я пытаюсь использовать объект через репозиторий jdbc данных spring (arenaRepository.findAll ())
public interface ArenaRepository extends CrudRepository<Arena, Long> {
}
Я получаю ошибку
Ошибка обработки запроса; вложенное исключение - org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; неправильная грамматика SQL [ВЫБЕРИТЕ arena.id AS id, arena.y AS y, arena.x AS x FROM arena]; вложенное исключение - org.postgresql.util.PSQLException: ОШИБКА: столбец arena.y не существует
Я вижу, что SQL не соответствует схеме. Но можно ли работать с гео-классами через Spring Data Jdbc?
Я попытался представить местоположение как список, и он работает. Это правильный путь?