单击“添加”后,还将添加与选定表关联的任何表。此外,在本示例中,我们还需添加 DISCOUNT_CODE 表。DISCOUNT_CODE 表以灰色显示,这是因为 CUSTOMER 表引用了该表,而且必须生成它的实体类,这样才能生成 Customer 实体类。通过在“选定的表”窗格中将鼠标悬停在表名上,可以查看灰色显示的表是如何与选定表关联的。
单击“下一步”。
向导将显示选定表及其任何关联表,以及将基于选定表创建的实体类。如果要修改将生成的类的名称,则可以在“类名”字段中键入名称。
指定 ejb,将其作为生成类的包,然后单击“完成”。
单击“完成”后,IDE 将为 CUSTOMER 表和与 CUSTOMER 表关联的表生成实体类。如果在“项目”窗口中展开 ejb 源包,则可以看到 IDE 在 Web 应用程序项目的 ejb 包中创建了 Java 类 Customer.java 和 DiscountCode.java。
您可以看到 IDE 只创建了两个类(为每个数据库表创建了一个类)。在“使用 NetBeans IDE 5.0 开发 J2EE 应用程序的快速入门指南”中使用“通过数据库生成 CMP 实体 Bean”时,IDE 会为每个表创建四个类。
如果您在源代码编辑器中查看 Customer.java,则会注意到已使用了 @Entity 标注将类声明为实体类。其他标注还提供了附加信息,如实体类及其属性映射的数据库表和列。
您还会注意到,通常在实体 Bean 中找到的大部分样板代码都不见了。这是因为在 Java EE 5 中,实体类不再需要诸如 ejbRemove、setMessage、setSessionContext、ejbActivate 和 ejbPassivate 之类的方法。

