在EJB3.0中,实体bean跟sessionbean是怎么实现的?
1个回答
2013-08-16
展开全部
看介绍说会丢掉HOME接口,远程接口,只需要一个类就可以创建EJB对像了,况且简化了许多东西,实体BEAN变的与HIBERNATE很相似,而且允许继承,可以通过NEW创建,允许直接执行SQL语句,3.0中一个EJB组件就是一个普通的JAVA BEAN,不需要声明抽象方法,元数据不再使用部署描述符来描述了。
我认为,EJB3.0的新特性主要有两方面:
1。 使用类似于xdoclet方式的在代码中加入annotation,也就是加入标记的方式来取代以前很多要写在配置文件里的东东。不过他使用的是一种奇怪的方式,这些annotation直接放在代码中,而不是像xdoclet一样放在注释中,这样的话,写了一个EJB就完全没办法当一个JavaBean来用了。不过这种方式加annotation好像是所谓的Java 5 Tiger的新特性。反正我觉得有诸多不好。还是采用xdoclet这种方式比较好。开源的就是考虑周到。
2。 采用based on Hibernate的persistence方式。这句话有点让人费解。什么叫基于Hibernate?难道底层实现采用Hibernate?但至少有一点是肯定的,它的方式一定很像Hibernate。另外,它将EJBSQL也作为annotation放在源代码中,文章作者好像对此很有异议,我也觉得此法不妥。因为这样的话,代码与物理存储关联太紧密了。可能会失去使用O/R Mapping的灵活性。
我认为,EJB3.0的新特性主要有两方面:
1。 使用类似于xdoclet方式的在代码中加入annotation,也就是加入标记的方式来取代以前很多要写在配置文件里的东东。不过他使用的是一种奇怪的方式,这些annotation直接放在代码中,而不是像xdoclet一样放在注释中,这样的话,写了一个EJB就完全没办法当一个JavaBean来用了。不过这种方式加annotation好像是所谓的Java 5 Tiger的新特性。反正我觉得有诸多不好。还是采用xdoclet这种方式比较好。开源的就是考虑周到。
2。 采用based on Hibernate的persistence方式。这句话有点让人费解。什么叫基于Hibernate?难道底层实现采用Hibernate?但至少有一点是肯定的,它的方式一定很像Hibernate。另外,它将EJBSQL也作为annotation放在源代码中,文章作者好像对此很有异议,我也觉得此法不妥。因为这样的话,代码与物理存储关联太紧密了。可能会失去使用O/R Mapping的灵活性。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询