# Creating session beans with XDoclet annotation support

You can use a wizard to create a session bean and add it to your project.

Before you can create an enterprise bean, you must:

- Define an EJB project to contain the enterprise bean. See Creating EJB projects.
- Install XDoclet annotation support and enable it. See Configuring XDoclet annotation support.

To create a session bean, complete the following steps:

1. In the Java™ EE perspective, click File > New > Other. Select EJB > XDoclet Enterprise JavaBean and click Next.
2. Select Session Bean and click Next.
3. Select the Project that will contain the new session bean.
4. In the Folder field, select the folder for the new bean.
5. In the Java package field, enter the package name for the new bean.
6. In the Class name field, type a name for the enterprise bean. By convention, bean names should begin with an uppercase letter.
   Note: You can use Unicode characters for the bean name, but Unicode characters are not supported for enterprise bean packages and classes associated with enterprise beans.
7. Optional: Change the Superclass for the bean if you want it to inherit from a class other than `java.lang.Object` and click Next.
8. Provide an EJB Name for the bean. This is the name of the enterprise bean class. The next three fields will automatically be filled in, you can change these values if you want:
   - JNDI Name is the logical name used by the server to locate an enterprise bean at runtime.
   - Display Name is a short name for the enterprise bean that is used by tools.
   - Description is to help you identify the bean.
9. Select the State type for the new bean:
   - A Stateful session bean maintains client-specific session information, or conversational state, across multiple method calls and transactions. An instance of a stateful session bean has a unique identity that is assigned by the container at create time.
   - A Stateless session bean does not maintain conversational state. Instances of a stateless session bean have no conversational state. All instances of a stateless session bean have the same object identifier, which is assigned by the container.
10. Select a Transaction Type for the new bean:
    - Container specifies that the transaction demarcation is performed by the container.
    - Bean specifies that the transaction demarcation is performed by the bean.
    Click Next.
11. Select the type of Modifiers to use for the class.
12. Optional: Select the Interfaces you want the bean to implement. Click Add to select interfaces that you want to implement and click Remove to take away interfaces that you no longer want to implement.
13. Select the method stubs that you want the wizard to create.
14. Click Finish to add the new bean to the specified EJB project.

Parent topic: Creating enterprise beans with XDoclet annotation support