Creating CMP Bean Fields
This feature is only supported in the Ultimate edition.
CMP fields are used to provide persistence of the entity beans. Being created, a CMP field appears in the deployment descriptor, and its accessor methods are added to the entity bean classes. So doing, IntelliJ IDEA provides gutter icons in the editor that help you jump from a CMP field declaration in the deployment descriptor to the accessor methods in the bean class, and vice versa:
IntelliJ IDEA enables you to create CMP fields in several ways:
- By means of direct editing the source code. In this case, IntelliJ IDEA provides coding assistance, and the corresponding nodes are created in the EJB tool window.
- Using the context menu of an entity bean.
- Using the bean editor.
To create a CMP field by editing the source code
- Open the deployment descriptor file
- In the
entitysection for the corresponding entity bean, type the tags for CMP fields, and specify their names.
- Open the source code of the desired entity bean class for editing. The code inspection detects missing accessor methods:
- Press Alt+Enter to reveal the list of suggested quick fixes:
- Create getter and setter methods in the bean implementation class.
- If you want to make the new CMP field a primary key, add the <primkey-field> entry to the deployment descriptor.
To create a CMP field
- In the EJB tool window, right-click the desired entity bean.
- On the context menu, click , and then choose on the submenu.
- In the Create CMP Field dialog box, specify the following parameters:
- Field name, optional description and type. You can choose the desired type from the drop-down list, or click the ellipsis button and select type from the Choose CMP Field Class dialog box.
- Whether the new CMP field will be a primary key. Select the Primary key checkbox, if you want to make this field a primary key.
- Whether the accessor methods will be generated in the local and remote interfaces. If you select the corresponding checkboxes, the getter and setter methods will be created in the local and remote interfaces, in addition to the bean class.
- Click OK.