¿Hay una manera de elegir dinámicamente una estrategia @GeneratedValue usando anotaciones JPA e Hibernate?

Estoy trabajando en un producto que será compatible con varios motores de base de datos (Oracle, MSSQL, MySQL). Para Oracle, preferiría usar secuencias en lugar de una tabla de secuencias para evitar posibles problemas de concurrencia y bloqueo en una instalación de gran volumen, pero otros motores de base de datos no admiten secuencias. Además, preferiría usar una secuencia por tabla en lugar de una secuencia global (comohibernate_sequence), asi que@GeneratedValue(strategy = GenerationType.AUTO) no funcionará ¿Hay una manera de elegir dinámicamente la estrategia en tiempo de ejecución?

Respuestas a la pregunta(1)

Su respuesta a la pregunta