Diferencia entre JTA y Spring. Anotaciones transaccionales.

He estado empezando a usar Spring's@Transactional anotación, y proporciona una gran comodidad para la gestión de transacciones. Sin embargo, el uso de esta anotación en nuestro código ahora nos hace dependientes de Spring. Sé que con cosas de tipo JPA hay unapersistencia javax Paquete donde podemos marcar el código con todo tipo de anotaciones JPA, pero dado que todas provienen dejavax.persistence, nuestro código no depende de ninguna implementación específica u ORM.

Supongo que mi pregunta es si hay anotaciones similares para cosas transaccionales. Encontre unjavax jta paquete, pero no estoy seguro de que realmente haya alguna anotación genérica que Spring pueda implementar. Básicamente, me pregunto si hay algún tipo de anotaciones genéricas tipo javax que podamos poner en los métodos para administrar la funcionalidad transaccional para que no dependamos de Spring.