当然了,其实如果你是用Jbuilder7一类的IDE来开发的话,这些工具会帮助你完成大部分的工作的,有时候实现一个EntityBean甚至不需要你协一行代码

解决方案 »

  1.   

    是的不过在EJB2.0里边,实体Bean很好控制的
      

  2.   

    具体问题具体分析才行,个人的理解认为entity bean mapping 的是那些反映数据实体的表(例如:物品表,账户表之类),那些表示关系的表看要看实际应用,解决方法也有多样(session bean, serverlet 等等,不一一举例),并不是所有的表都要mapping成entity bean,一个entity bean对应的数据表中的一行可以看作是一个object(正确的说是一个实体object的状态)因此用Entity Bean来解决问题,一个很大的目的是为了持久化object当然entity bean也不仅仅是数据表的mapping(读取或写入数据),作为一个实体object在将他形成instance后根据状态有一些实际有意义的方法(例如:对一个账户进行取款存款操作,很多书上都有类似的例子,不多举例了),这样的Entity Bean存在才是实际有意义的因此要活用j2ee,不但要对系统进行分析OOAD的思想也是不可缺少的
      

  3.   

    其实关键的就是O-R Mapping了,看你怎么设计你的Entiry Bean,然后是将你的EntiryBean做序列化操作,O-R Mapping对于不同的情况也有不同的映射方法,具体问题具体分析,而不是简单的直接一对一映射。
      

  4.   

    完全不必拘泥!一个entity对应数张表(全部或者部分),或者数个entity对应一张表在设计上都是可行的。多表对应的entity常称为复合entity, 客户端可以一个远程调用来获取全部
    所需的字段信息;或者用一个远程调用来写所有实体内相关的表。
    复合实体的作用:
    1提高对象粒度,有助于减少远程调用
    2把实体间关系组合进复合实体, (其利弊视情况而定)
    3减少对象模型对数据库模型的依赖。复合实体通常和value object一起使用,千万别在单值set和单值get了。:)
      

  5.   

    gfzhx(小小):
    “其实关键的就是O-R Mapping了,看你怎么设计你的Entiry Bean,然后是将你的EntiryBean做序列化操作,O-R Mapping对于不同的情况也有不同的映射方法,具体问题具体分析,而不是简单的直接一对一映射。”同意。ejb设计应该是灵活的而不是僵死的。 可以建立一个local的序列化的value object在客户端和远程之间装载、传输结果集合。
      

  6.   

    我说具体点,假如我执行这样一个查询: select a.name,a.code,b.name,b.price,c.description,......where a.code = b.code,.....那么a,b,c三个TABLE,能不能影射为一个ENTITY BEAN?如果
    影射为三个ENTITY BEAN的话,<sql> </sql>中应怎么实现?
      

  7.   

    TO alink(阿林):
    谢谢你的回答,我想问一下那里有讲复合entity的资料?
      

  8.   

    可以考虑使用sessionless bean+jdo。
      

  9.   

    上午看了一些EJB2。0的资料,用BMP可以实现,也就是alink(阿林)所说的
    复合entity,不知CMP可不可以影射到多个表?希望高手赐教。
      

  10.   

    在cmp也可以啊。
    在jbuilder下,当你选了多张表后,你可以点击[add link]去建立表之间的关系。
      

  11.   

    呵呵,大家讨论好热闹。
    re:tony_2008(偶学习,偶进步。) 
     我是在一本《J2EE核心模式》里面看到的。不过此书已经比较旧了,可能在2.0下有新的模式,比原来的更好。可以参考参考。 :)最近项目太忙,都没有时间跟进了。
      

  12.   

    正在尝试: 元数据+序列化
    theserverside.com里边有更详细的讨论
      

  13.   

    to upc_chenli(chenli):
    你能说具体点吗?用CMP怎样实现?那么我的WEBLOGIC-EJB-JAR文件应怎么写(如果是用WEBLOGIC作容器)?能不能举个例子?
      

  14.   

    我个人认为不是所有的表都要映射成实体bean的
    实体bean应该用于那些访问并发量比较大的表,其他的操作应该在session bean中通过jdbc来完成这样的效率比用实体bean好
      

  15.   

    欢迎阅读master ejb  or ejb编程指南