Ошибка при поиске последовательности в Hibernate для Postgresql - PullRequest
0 голосов
/ 08 мая 2018

У меня проблема с вставкой данных в Postgresql через Hibernate, когда в основном столбце есть автоинкремент. Я также просмотрел несколько сообщений на этом форуме, но не могу найти решение, которое подходит мне.

Моя таблица и последовательность определены в схеме «apiprofile». Когда я запускаю код, он не может найти имя последовательности. Даже если я упомяну это с помощью schema.sequence, оно все равно не будет работать.

Любая помощь приветствуется.

Ниже приведен фрагмент кода и исключение, с которым я столкнулся.

Последовательность и таблица:

CREATE SEQUENCE apiprofile.login_session_id_seq;

CREATE TABLE apiprofile.login_session (
  id bigint NOT NULL DEFAULT nextval('apiprofile.login_session_id_seq'),
  username varchar(255) NOT NULL,
  token varchar(500) NOT NULL,
  active_ind boolean NOT NULL,
  login_time timestamp NOT NULL,
  PRIMARY KEY (id)
);

Файл бина

public class LoginSession {

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "session_generator")
@SequenceGenerator(name="session_generator", sequenceName = "apiprofile.login_session_id_seq", schema = "apiprofile", allocationSize=1) 
@Column(name="id", updatable = false, nullable = false)
private Integer id;

Операция вставки

LoginSession session = new LoginSession();
session.setUsername(userName);
session.setToken(token);
session.setActive(true);
session.setLoginTime(new Timestamp(System.currentTimeMillis()));
getSession().saveOrUpdate(session);

Исключение

Hibernate: 
    select
        next_val as id_val 
    from
        login_session_id_seq for update

could not read a hi value
org.postgresql.util.PSQLException: ERROR: relation "login_session_id_seq" does not exist
  Position: 32
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2103) ~[postgresql-9.1-901-1.jdbc4.jar:?]
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1836) ~[postgresql-9.1-901-1.jdbc4.jar:?]
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257) ~[postgresql-9.1-901-1.jdbc4.jar:?]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...