Migrating to EJB 3 with IntelliJ IDEA is Easy
IntelliJ IDEA has the full-blown support for Enterprise Java Beans (EJB). Supporting EJB specifications from 1.x to 3.0 and leveraging it through all of its productivity-boosting features, from coding assistance to refactoring, IntelliJ IDEA stands for the weapon of choice for developing EJB applications.
Today we’re going to see how easy it is to migrate from earlier EJB versions to the latest 3.0. For the purposes of this demonstration we have a sample project, containing a 2.1 CMP Entity Bean and a Session Bean used to access CMP bean fields.
To migrate these beans to EJB 3.0:
- Switch Project View to
Java EE: Structure
- Expand the EJB Facets node
- Right-click EJB (in MigrationTest) and select
Apply EJB 3.0 Stylefrom the shortcut menu.
First we’re going to change the environment access settings for the beans and resort from using the
IntelliJ IDEA automatically upgrades the code. Have a look at the screenshot below and see the difference. Note that code before migration is displayed on the left side.
IntelliJ IDEA also automatically removes descriptors that were replaced with annotations from
Now, replace the CMP Entity Bean with JPA Persistence unit. For that:
- Invoke the migration dialog as described above
- Select the Replace Entity Beans with CMP to Persistence Unit
- Click Refactor
IntelliJ IDEA automatically creates the required JPA code and converts the existing Entity Bean. Notice that it has been removed from the project and matching JPA Persistence Unit has been created.
After that we have to manually rewrite the session bean code according to JPA specification so that it would use the Persistence Unit instead of the Entity Bean to complete migration.