Я бы рекомендовал вам использовать тип наследования JOINED для базового класса. Это помещает все общие поля в базовую таблицу и настройки в конкретные таблицы. Вот аннотация для этого:
@Inheritance(strategy=InheritanceType.JOINED)
Как только это будет сделано, вы можете в значительной степени использовать любой вариант последовательности, поскольку все ваши идентификаторы всегда находятся в одной таблице. Вы можете использовать отдельную последовательность, если хотите, но она поддерживается не всеми поставщиками баз данных. Я думаю, это не проблема, так как вы используете Oracle специально.
Я использовал это, и, кажется, хорошо работает.
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;