Я согласен с Саймоном. 0 не является хорошим значением для первичного ключа. Кроме того, насколько я знаю, не будет никакого способа настроить Hibernate, чтобы сделать это плохой практикой. Но если вы действительно хотите придерживаться начала с нуля, вы можете удалить автоинкремент и сделать:
SELECT MAX(column_name)
FROM table_name;
И обойти его. Но, по моему мнению, как разработчик, 0 - это хорошее значение при работе с массивами и т. Д., Но PK всегда должен начинаться с 1.