I have a maven project that uses spring, hibernate (3.6.4), GWT(2.3), drools,.... Everything used to work fine till I began using hibernate OneToMany, ManyToMany relations..
We had the exact same problem and outputting OneToMany.class.getProtectionDomain().getCodeSource().getLocation() showed us the problem. We were picking up ejb3 JAR due to a stale dependency in our pom. Thank you very much for posting this solution!
By the way, remember to run mvn eclipse:eclipse if you're using Eclipse, else the .classpath will still refer to the unwanted JAR.