Solution can be found here: http://forum.springsource.org/showthread.php?58964-ClassCastException-when-using-JPA-result
Turns out that spring's load time weaver class is using the "wrong" parent classloader. Creating my own subclass as suggested at the bottom of the thread linked makes everything work!