Resposta encontrada em Problema de hibernação com o Oracle Trigger para gerar id de uma sequência
Eu preciso adaptar meu gatilho para ser executado apenas se nenhum ID for fornecido:
CREATE OR REPLACE TRIGGER A_TRG
BEFORE INSERT
ON A REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
WHEN (New.IDS is null) -- (1)
BEGIN
:new.IDS := A_SEQ.nextval;
END A_TRG;
/
(1) esta linha permite que o Hibernate chame manualmente A_SEQ.nextVal para definir o ID e, em seguida, ignore o gatilho, senão o Hibernate obterá o nextval inutilmente porque o gatilho sempre redefinirá o ID chamando o nextval novamente