然而,如果你选中了包含关联表(Include Related Tables),这个向导会从数据库结构中取回所有的实体关联,你没有办法来指定关联的方向性。
举个例子来说,如果在Customer和Address实体间有一个关联,我通过Customer实体中的一个关联方法可以获得相应客户的Address,我不可能再去询问Address实体它的Customer是谁。
尽管你可以打开Java源程序编辑器通过程序来实现这一点,不过,如果让用户可以通过向导来更方便的指定这个中关联的反响,岂不是效率更高?因此以我之见,NetBeans团队应该增加更多的支持来更好的处理关联。
在很多现实的应用程序开发中,如果你实现知道某个表的数据很少发生变化,你可能更喜欢开发一个只读的实体。但是,在NetBeans 6.5 M1版中我没有发现能够在哪一个向导中可以将一个实体标记为只读。
如果你正在EJB模块或web模块中使用Java持久化API,这个IDE可以让你创建一个持久化单元。和所有其它模块一样,它具有一个向导让你指定众多相关细节信息,并且会为你产生一个persistence.xml文件。
图3、新建持久化单元
下面让我们把目光从持久层(Persistence tier)转到业务逻辑层(business logic tier)。在NetBeans 6.5 M1中有个向导可以用来新建会话Bean,另外还有一个向导可以用来创建消息驱动Beans。在新建会话Bean向导中,你可以指定会话的类型,是无状态会话还是有状态会话,也可以设定你希望这个IDE产生的接口类型(远程或本地)。
不过在消息驱动Beans向导中由一个地方令人有些困惑,你不得不在Project Destination和Server Destination之间作出选择,但是根据上下文关系IDE应该可以作出正确的判断。
图4、新建消息驱动Bean
这个IDE还可以帮助你进行Web服务开发;它支持大量的web服务标准,诸如JAX-WS 2.1、JAX-RS(JSR-311)、JAX-RPC(JSR-101)等。我使用这个IDE来从JPA实体类中创建了一个兼容JSR311的RESTful Web服务,另外还从Java类中创建了一个基于SOAP的Web服务。而且,你可以使用这个新的IDE的soap插件来测试Web服务。
NetBeans可以让你登记使用任何Java EE兼容的服务器来部署你的应用。它支持下图中所列出的所有主流服务器。
图5、支持的服务器类型
但是,一旦你指定了某种类型的应用服务器后,如果你以后希望在其它类型应用服务器部署、运行和测试你的应用程序,你将必须通过以下三步来修改目标服务器。
1、右键点击项目窗口中的项目节点,并选择属性;
2、在项目属性对话框中选择运行;
3、从Server下拉菜单中选择新的目标服务器,并点击OK。
我有一个建议,NetBeans可以将所有的服务器类型作为一个子菜单条目放在IDE的RUN菜单之下,你是否也感觉这样会更方便?