Hibernate "не удалось получить следующее значение последовательности" оракул - PullRequest
1 голос
/ 20 апреля 2011

я получаю эту ошибку could not get next sequence value при попытке сохранить эту сущность в Hibernate:

package beans;

import javax.persistence.*;

@Entity
@Table(schema = "EVGENY")
public class Article {
    @SequenceGenerator(name="ArticleGen", sequenceName="ARTICLESEC")
    @Id
    @GeneratedValue(generator= "ArticleGen")
    private int id;
    @Column(name="title")
    private String title;
    @Column(name="text")
    private String text;
    @Column(name="postat")
    private String postat;
    @ManyToOne
    @JoinColumn(name = "USER_ID")
    private UserAcc user;

    public Article(){
    }

    Get Set...      

}

insert into article (title) values('asdfaf');

в Oracle SQL Developer это insert into article (title) values('asdfaf'); хорошо работает.

если я установил переменную id явно (Article a = new Article();a.setId(3);) все отлично. Я дважды проверил название последовательности.

Ответы [ 2 ]

1 голос
/ 18 августа 2015

Проверьте права доступа пользователя к последовательности. Большую часть времени это выдача грантов

0 голосов
/ 23 апреля 2012

Я знаю много причин, чтобы получить это исключение.Может быть, вы можете проверить вопросы и дать мне более подробную информацию о вашей проблеме:

  • проверить, установлен ли для 'hibernate.dialect' Oracle?
  • разрешение на последовательность в порядке (схемы, выберите и т. д.)?
  • есть ли какой-нибудь триггер за столом и выбрасывающий ошибку plsql?
  • какой-то другой plsql, который может прервать вставку?
  • было ли исключение (иногда молчание) где-то перед вызовом create (например, устаревшее состояние или сбой), так что транзакция помечена для отката?
  • есть ли в соединении ошибочная ошибкадо исключения?
  • Может ли сущность уже присоединена (проверьте с помощью Содержит)?
  • Используете ли вы Spring или другую платформу, где вы можете добавить преобразователи или преобразователи исключений?версию базы данных оракула вы используете?10 или 11?и правильно ли используются драйверы?
  • есть ли вызов findSingle до того, как он не вернет никакого значения?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...