Re[2]: hibernate, generator
От: newuser  
Дата: 24.01.15 17:03
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, newuser, Вы писали:


N>>
N>>@Id
N>>@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="TYPE_OBJECT_GEN")
N>>@SequenceGenerator(name="TYPE_OBJECT_GEN", sequenceName="TYPE_OBJECT_GEN", allocationSize=1)
N>>

N>>Получается как-то странно, в базе создается запись,допустим, с id 1, а у объекта id 2. После повторного создания в базе id 3, а у объекта id 4

B>Похоже что 2 у тебя ID генерируется два раза. 1й раз при вставке записи, база использует триггер и sequence и генерирует Id. А потом ещё и хибер следуя аннотациям использует тот же sequence и тоже генерирует id.

B>Поэтому нужно либо убрать генерацию на уровне БД, что не очень-то удобно. Либо аннотации прописать попроще. GenerationType.AUTO или что-то такое. Всё про Sequence из маппинга убрать.
сделал так:
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "ID")
    public int getId() {
        return id;
    }


но объекту присваиваются значения 1,2,3,4
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.