Pienso lo mismo que Profesor_Falken, yo había visto el cierre del statement, pero para el problema de la clave duplicada, puede ser
1. Que ya hayas creado ese registro en alguna prueba anterior
2. Que no estés creando correctamente el List<Alumno>, por ejemplo no creando un objeto Alumno nuevo cada vez que añades un alumno a la lista.
3. Improbable, pero que las restricciones en la BBDD no sean las que crees
http://docs.oracle.com/javase/tutori.../prepared.html