У меня есть сопоставленная сущность, и я хочу подробно указать ее последовательность.Таким образом, у меня есть следующее отображение:
@Entity
@Table(schema = DbConstants.SCHEMA_PUBLIC, name =
DbConstants.PUBLIC_TABLE_TEST)
public class TestEntity implements Serializable {
private static final long serialVersionUID = 6284010266557287786L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "test")
@SequenceGenerator(schema = DbConstants.SCHEMA_PUBLIC, name = "test", sequenceName = "test_id_seq")
private Integer id;
}
Проблема в том, что если я не включаю allocSize в аннотацию @SequenceGenerator, то сущности, похоже, имеют идентификатор чего-то вроде -49 + nextval ('test_id_seq' :: regclass).Добавление нового объекта также увеличивает test_id_seq.Я сравнил sql, который использует Hibernate, с помощью allocSize или без него, и он точно такой же.
1) Как это происходит?
2) Как идентификаторы базы данных оказываются настолько разными, что, по-видимому, тот же sql используется hibernate?