This is my understanding of relationship between the EJB spec and Java versions
- EJB 2.0 was part of J2EE 1.3 platform, which was on top J2SE 1.3 or JDK 1.3.x
- EJB 2.1 was part of J2EE 1.4 platform, which was on top of J2SE 1.4 or JDK 1.4.x
The EJB 2.1 specification requires backward compatibility for EJB 2.0, so containers supporting EJB 2.1 and running in JDK 1.4.x will be able to run EJB 2.0 beans as well.
- EJB 3.0 is part of Java EE 5 platform, which required Java SE 5 (JDK 5) for annotations etc
The EJB 3 spec requires backward compatibility for earlier version of the specifications.
My question is this. If I upgrade the java code for the implementation of the EJB 2.0 beans to compile against a later version of Java (say Java 5), can I still keep the same version of the EJB spec or do I need to migrate this as well.